diff --git a/v-next/hardhat-chai-matchers/package.json b/v-next/hardhat-chai-matchers/package.json index 0f63c9fbd9..d226486dca 100644 --- a/v-next/hardhat-chai-matchers/package.json +++ b/v-next/hardhat-chai-matchers/package.json @@ -33,9 +33,10 @@ "test:coverage": "c8 --reporter html --reporter text --all --exclude test --exclude src/internal/types.ts --exclude src/internal/ui/direct-user-interruption-manager.ts --src src node --import tsx/esm --test --test-reporter=@ignored/hardhat-vnext-node-test-reporter \"test/!(fixture-projects|helpers)/**/*.ts\"", "pretest": "pnpm build", "pretest:only": "pnpm build", - "build": "tsc --build . && cp src/type-extensions.d.ts dist/src/type-extensions.d.ts", + "build": "tsc --build .", "prepublishOnly": "pnpm build", - "clean": "rimraf dist" + "clean": "rimraf dist", + "postbuild": "cp src/type-extensions.d.ts dist/src/type-extensions.d.ts" }, "files": [ "dist/src/", diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/.gitignore b/v-next/hardhat-chai-matchers/test/fixture-projects/.gitignore index e7f801166c..126eb0582d 100644 --- a/v-next/hardhat-chai-matchers/test/fixture-projects/.gitignore +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/.gitignore @@ -1,2 +1,2 @@ -artifacts/ +# artifacts/ cache/ diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/build-info/16efa488de3a0283218beddfadbd1423.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/build-info/16efa488de3a0283218beddfadbd1423.json new file mode 100644 index 0000000000..2a1c7ecac1 --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/build-info/16efa488de3a0283218beddfadbd1423.json @@ -0,0 +1 @@ +{"id":"16efa488de3a0283218beddfadbd1423","_format":"hh-sol-build-info-1","solcVersion":"0.8.4","solcLongVersion":"0.8.4+commit.c7e474f2","input":{"language":"Solidity","sources":{"contracts/ChangeEtherBalance.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract ChangeEtherBalance {\n function returnHalf() public payable {\n payable(msg.sender).transfer(msg.value / 2);\n }\n\n function transferTo(address addr) public payable {\n payable(addr).transfer(msg.value);\n }\n\n receive() external payable {}\n}"},"contracts/Events.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract Events {\n AnotherContract anotherContract;\n\n struct Struct {\n uint u;\n uint v;\n }\n\n event WithoutArgs();\n event WithUintArg(uint u);\n event WithIntArg(int i);\n event WithAddressArg(address a);\n event WithTwoUintArgs(uint u, uint v);\n event WithStringArg(string s);\n event WithTwoStringArgs(string s, string t);\n event WithIndexedStringArg(string indexed s);\n event WithBytesArg(bytes b);\n event WithIndexedBytesArg(bytes indexed b);\n event WithBytes32Arg(bytes32 b);\n event WithStructArg(Struct s);\n event WithIndexedBytes32Arg(bytes32 indexed b);\n event WithUintArray(uint[2] a);\n event WithBytes32Array(bytes32[2] a);\n\n constructor (AnotherContract c) {\n anotherContract = c;\n }\n\n function doNotEmit() public {}\n\n function emitWithoutArgs() public {\n emit WithoutArgs();\n }\n\n function emitUint(uint u) public {\n emit WithUintArg(u);\n }\n\n function emitInt(int i) public {\n emit WithIntArg(i);\n }\n\n function emitAddress(address a) public {\n emit WithAddressArg(a);\n }\n\n function emitUintTwice(uint u, uint v) public {\n emit WithUintArg(u);\n emit WithUintArg(v);\n }\n\n function emitTwoUints(uint u, uint v) public {\n emit WithTwoUintArgs(u, v);\n }\n\n function emitString(string memory s) public {\n emit WithStringArg(s);\n }\n\n function emitIndexedString(string memory s) public {\n emit WithIndexedStringArg(s);\n }\n\n function emitBytes(bytes memory b) public {\n emit WithBytesArg(b);\n }\n\n function emitIndexedBytes(bytes memory b) public {\n emit WithIndexedBytesArg(b);\n }\n\n function emitBytes32(bytes32 b) public {\n emit WithBytes32Arg(b);\n }\n\n function emitIndexedBytes32(bytes32 b) public {\n emit WithIndexedBytes32Arg(b);\n }\n\n function emitUintAndString(uint u, string memory s) public {\n emit WithStringArg(s);\n emit WithUintArg(u);\n }\n\n function emitTwoUintsAndTwoStrings(uint u, uint v, string memory s, string memory t) public {\n emit WithTwoUintArgs(u, v);\n emit WithTwoStringArgs(s, t);\n }\n\n function emitStruct(uint u, uint v) public {\n emit WithStructArg(Struct(u, v));\n }\n\n function emitUintArray(uint u, uint v) public {\n emit WithUintArray([u, v]);\n }\n\n function emitBytes32Array(bytes32 b, bytes32 c) public {\n emit WithBytes32Array([b, c]);\n }\n\n function emitNestedUintFromSameContract(uint u) public {\n emitUint(u);\n }\n\n function emitNestedUintFromAnotherContract(uint u) public {\n anotherContract.emitUint(u);\n }\n}\n\ncontract AnotherContract {\n event WithUintArg(uint u);\n\n function emitUint(uint u) public {\n emit WithUintArg(u);\n }\n}\n\ncontract OverrideEventContract {\n event simpleEvent(uint u);\n event simpleEvent();\n\n function emitSimpleEventWithUintArg(uint u) public {\n emit simpleEvent(u);\n }\n\n function emitSimpleEventWithoutArg() public {\n emit simpleEvent();\n }\n}\n"},"contracts/Matchers.sol":{"content":"// SPDX-License-Identifier: UNLICENSED\n\npragma solidity ^0.8.0;\n\ncontract Matchers {\n uint x;\n\n event SomeEvent();\n\n AnotherMatchersContract anotherContract;\n\n struct Pair { uint a; uint b; }\n\n error SomeCustomError();\n error AnotherCustomError();\n error CustomErrorWithInt(int);\n error CustomErrorWithUint(uint nameToForceEthersToUseAnArrayLikeWithNamedProperties);\n error CustomErrorWithUintAndString(uint, string);\n error CustomErrorWithPair(Pair);\n\n constructor () {\n anotherContract = new AnotherMatchersContract();\n }\n\n function succeeds() public {\n x++; // just to avoid compiler warnings\n }\n\n function succeedsView() public view returns (uint) {\n return x;\n }\n\n function revertsWith(string memory reason) public {\n x++;\n require(false, reason);\n }\n\n function revertsWithView(string memory reason) public pure {\n require(false, reason);\n }\n\n function revertsWithoutReason() public {\n x++;\n require(false);\n }\n\n function revertsWithoutReasonView() public pure {\n require(false);\n }\n\n function panicAssert() public {\n x++;\n assert(false);\n }\n\n function panicAssertView() public pure {\n assert(false);\n }\n\n function revertWithSomeCustomError() public {\n x++;\n revert SomeCustomError();\n }\n\n function revertWithSomeCustomErrorView() public pure {\n revert SomeCustomError();\n }\n\n function revertWithAnotherCustomError() public {\n x++;\n revert AnotherCustomError();\n }\n\n function revertWithAnotherCustomErrorView() public pure {\n revert AnotherCustomError();\n }\n\n function revertWithAnotherContractCustomError() public {\n x++;\n anotherContract.revertWithYetAnotherCustomError();\n }\n\n function revertWithAnotherContractCustomErrorView() public view {\n anotherContract.revertWithYetAnotherCustomErrorView();\n }\n\n function revertWithCustomErrorWithUint(uint n) public {\n x++;\n revert CustomErrorWithUint(n);\n }\n\n function revertWithCustomErrorWithUintView(uint n) public pure {\n revert CustomErrorWithUint(n);\n }\n\n function revertWithCustomErrorWithInt(int i) public {\n x++;\n revert CustomErrorWithInt(i);\n }\n\n function revertWithCustomErrorWithIntView(int i) public pure {\n revert CustomErrorWithInt(i);\n }\n\n function revertWithCustomErrorWithUintAndString(uint n, string memory s) public {\n x++;\n revert CustomErrorWithUintAndString(n, s);\n }\n\n function revertWithCustomErrorWithUintAndStringView(uint n, string memory s) public pure {\n revert CustomErrorWithUintAndString(n, s);\n }\n\n function revertWithCustomErrorWithPair(uint a, uint b) public {\n x++;\n revert CustomErrorWithPair(Pair(a, b));\n }\n\n function revertWithCustomErrorWithPairView(uint a, uint b) public pure {\n revert CustomErrorWithPair(Pair(a, b));\n }\n}\n\ncontract AnotherMatchersContract {\n uint x;\n\n error YetAnotherCustomError();\n\n function revertWithYetAnotherCustomError() public {\n x++;\n revert YetAnotherCustomError();\n }\n\n function revertWithYetAnotherCustomErrorView() public pure {\n revert YetAnotherCustomError();\n }\n}\n"},"contracts/Token.sol":{"content":"// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\ncontract TokenWithoutNameNorSymbol {\n uint public decimals = 1;\n\n uint public totalSupply;\n mapping(address => uint) public balanceOf;\n mapping(address => mapping(address => uint)) allowances;\n\n constructor () {\n totalSupply = 1_000_000_000;\n balanceOf[msg.sender] = totalSupply;\n }\n\n function transfer(address to, uint value) public returns (bool) {\n require(value > 0, \"Transferred value is zero\");\n\n balanceOf[msg.sender] -= value;\n balanceOf[to] += value;\n\n return true;\n }\n\n function allowance(address owner, address spender) public view returns (uint256 remaining) {\n return allowances[owner][spender];\n }\n\n function approve(address spender, uint256 value) public returns (bool success) {\n allowances[msg.sender][spender] = value;\n return true;\n }\n\n function transferFrom(address from, address to, uint256 value) public returns (bool) {\n require(allowance(from, msg.sender) >= value, \"Insufficient allowance\");\n\n allowances[from][msg.sender] -= value;\n balanceOf[from] -= value;\n balanceOf[to] += value;\n\n return true;\n }\n}\n\ncontract TokenWithOnlyName is TokenWithoutNameNorSymbol {\n string public name = \"MockToken\";\n}\n\ncontract MockToken is TokenWithoutNameNorSymbol {\n string public name = \"MockToken\";\n string public symbol = \"MCK\";\n}\n\ncontract NotAToken {}\n"}},"settings":{"optimizer":{"enabled":false,"runs":200},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"],"":["ast"]}}}},"output":{"sources":{"contracts/ChangeEtherBalance.sol":{"ast":{"absolutePath":"contracts/ChangeEtherBalance.sol","exportedSymbols":{"ChangeEtherBalance":[37]},"id":38,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:0"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":37,"linearizedBaseContracts":[37],"name":"ChangeEtherBalance","nameLocation":"66:18:0","nodeType":"ContractDefinition","nodes":[{"body":{"id":16,"nodeType":"Block","src":"126:54:0","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":13,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":10,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"161:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":11,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"161:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"hexValue":"32","id":12,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"173:1:0","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"161:13:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"expression":{"id":6,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"140:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":7,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"140:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"132:8:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":4,"name":"address","nodeType":"ElementaryTypeName","src":"132:8:0","stateMutability":"payable","typeDescriptions":{}}},"id":8,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"132:19:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":9,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"132:28:0","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":14,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"132:43:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":15,"nodeType":"ExpressionStatement","src":"132:43:0"}]},"functionSelector":"b019946e","id":17,"implemented":true,"kind":"function","modifiers":[],"name":"returnHalf","nameLocation":"98:10:0","nodeType":"FunctionDefinition","parameters":{"id":2,"nodeType":"ParameterList","parameters":[],"src":"108:2:0"},"returnParameters":{"id":3,"nodeType":"ParameterList","parameters":[],"src":"126:0:0"},"scope":37,"src":"89:91:0","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":31,"nodeType":"Block","src":"233:44:0","statements":[{"expression":{"arguments":[{"expression":{"id":27,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"262:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":28,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","src":"262:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"arguments":[{"id":24,"name":"addr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":19,"src":"247:4:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":23,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"239:8:0","typeDescriptions":{"typeIdentifier":"t_type$_t_address_payable_$","typeString":"type(address payable)"},"typeName":{"id":22,"name":"address","nodeType":"ElementaryTypeName","src":"239:8:0","stateMutability":"payable","typeDescriptions":{}}},"id":25,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"239:13:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"id":26,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","src":"239:22:0","typeDescriptions":{"typeIdentifier":"t_function_transfer_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":29,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"239:33:0","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":30,"nodeType":"ExpressionStatement","src":"239:33:0"}]},"functionSelector":"a03fa7e3","id":32,"implemented":true,"kind":"function","modifiers":[],"name":"transferTo","nameLocation":"193:10:0","nodeType":"FunctionDefinition","parameters":{"id":20,"nodeType":"ParameterList","parameters":[{"constant":false,"id":19,"mutability":"mutable","name":"addr","nameLocation":"212:4:0","nodeType":"VariableDeclaration","scope":32,"src":"204:12:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":18,"name":"address","nodeType":"ElementaryTypeName","src":"204:7:0","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"203:14:0"},"returnParameters":{"id":21,"nodeType":"ParameterList","parameters":[],"src":"233:0:0"},"scope":37,"src":"184:93:0","stateMutability":"payable","virtual":false,"visibility":"public"},{"body":{"id":35,"nodeType":"Block","src":"308:2:0","statements":[]},"id":36,"implemented":true,"kind":"receive","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":33,"nodeType":"ParameterList","parameters":[],"src":"288:2:0"},"returnParameters":{"id":34,"nodeType":"ParameterList","parameters":[],"src":"308:0:0"},"scope":37,"src":"281:29:0","stateMutability":"payable","virtual":false,"visibility":"external"}],"scope":38,"src":"57:255:0","usedErrors":[]}],"src":"32:280:0"},"id":0},"contracts/Events.sol":{"ast":{"absolutePath":"contracts/Events.sol","exportedSymbols":{"AnotherContract":[374],"Events":[359],"OverrideEventContract":[398]},"id":399,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":39,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:1"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":359,"linearizedBaseContracts":[359],"name":"Events","nameLocation":"66:6:1","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":42,"mutability":"mutable","name":"anotherContract","nameLocation":"93:15:1","nodeType":"VariableDeclaration","scope":359,"src":"77:31:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"},"typeName":{"id":41,"nodeType":"UserDefinedTypeName","pathNode":{"id":40,"name":"AnotherContract","nodeType":"IdentifierPath","referencedDeclaration":374,"src":"77:15:1"},"referencedDeclaration":374,"src":"77:15:1","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"}},"visibility":"internal"},{"canonicalName":"Events.Struct","id":47,"members":[{"constant":false,"id":44,"mutability":"mutable","name":"u","nameLocation":"138:1:1","nodeType":"VariableDeclaration","scope":47,"src":"133:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":43,"name":"uint","nodeType":"ElementaryTypeName","src":"133:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":46,"mutability":"mutable","name":"v","nameLocation":"150:1:1","nodeType":"VariableDeclaration","scope":47,"src":"145:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":45,"name":"uint","nodeType":"ElementaryTypeName","src":"145:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Struct","nameLocation":"120:6:1","nodeType":"StructDefinition","scope":359,"src":"113:43:1","visibility":"public"},{"anonymous":false,"id":49,"name":"WithoutArgs","nameLocation":"166:11:1","nodeType":"EventDefinition","parameters":{"id":48,"nodeType":"ParameterList","parameters":[],"src":"177:2:1"},"src":"160:20:1"},{"anonymous":false,"id":53,"name":"WithUintArg","nameLocation":"189:11:1","nodeType":"EventDefinition","parameters":{"id":52,"nodeType":"ParameterList","parameters":[{"constant":false,"id":51,"indexed":false,"mutability":"mutable","name":"u","nameLocation":"206:1:1","nodeType":"VariableDeclaration","scope":53,"src":"201:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":50,"name":"uint","nodeType":"ElementaryTypeName","src":"201:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"200:8:1"},"src":"183:26:1"},{"anonymous":false,"id":57,"name":"WithIntArg","nameLocation":"218:10:1","nodeType":"EventDefinition","parameters":{"id":56,"nodeType":"ParameterList","parameters":[{"constant":false,"id":55,"indexed":false,"mutability":"mutable","name":"i","nameLocation":"233:1:1","nodeType":"VariableDeclaration","scope":57,"src":"229:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":54,"name":"int","nodeType":"ElementaryTypeName","src":"229:3:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"228:7:1"},"src":"212:24:1"},{"anonymous":false,"id":61,"name":"WithAddressArg","nameLocation":"245:14:1","nodeType":"EventDefinition","parameters":{"id":60,"nodeType":"ParameterList","parameters":[{"constant":false,"id":59,"indexed":false,"mutability":"mutable","name":"a","nameLocation":"268:1:1","nodeType":"VariableDeclaration","scope":61,"src":"260:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":58,"name":"address","nodeType":"ElementaryTypeName","src":"260:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"259:11:1"},"src":"239:32:1"},{"anonymous":false,"id":67,"name":"WithTwoUintArgs","nameLocation":"280:15:1","nodeType":"EventDefinition","parameters":{"id":66,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63,"indexed":false,"mutability":"mutable","name":"u","nameLocation":"301:1:1","nodeType":"VariableDeclaration","scope":67,"src":"296:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":62,"name":"uint","nodeType":"ElementaryTypeName","src":"296:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":65,"indexed":false,"mutability":"mutable","name":"v","nameLocation":"309:1:1","nodeType":"VariableDeclaration","scope":67,"src":"304:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":64,"name":"uint","nodeType":"ElementaryTypeName","src":"304:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"295:16:1"},"src":"274:38:1"},{"anonymous":false,"id":71,"name":"WithStringArg","nameLocation":"321:13:1","nodeType":"EventDefinition","parameters":{"id":70,"nodeType":"ParameterList","parameters":[{"constant":false,"id":69,"indexed":false,"mutability":"mutable","name":"s","nameLocation":"342:1:1","nodeType":"VariableDeclaration","scope":71,"src":"335:8:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":68,"name":"string","nodeType":"ElementaryTypeName","src":"335:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"334:10:1"},"src":"315:30:1"},{"anonymous":false,"id":77,"name":"WithTwoStringArgs","nameLocation":"354:17:1","nodeType":"EventDefinition","parameters":{"id":76,"nodeType":"ParameterList","parameters":[{"constant":false,"id":73,"indexed":false,"mutability":"mutable","name":"s","nameLocation":"379:1:1","nodeType":"VariableDeclaration","scope":77,"src":"372:8:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":72,"name":"string","nodeType":"ElementaryTypeName","src":"372:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":75,"indexed":false,"mutability":"mutable","name":"t","nameLocation":"389:1:1","nodeType":"VariableDeclaration","scope":77,"src":"382:8:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":74,"name":"string","nodeType":"ElementaryTypeName","src":"382:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"371:20:1"},"src":"348:44:1"},{"anonymous":false,"id":81,"name":"WithIndexedStringArg","nameLocation":"401:20:1","nodeType":"EventDefinition","parameters":{"id":80,"nodeType":"ParameterList","parameters":[{"constant":false,"id":79,"indexed":true,"mutability":"mutable","name":"s","nameLocation":"437:1:1","nodeType":"VariableDeclaration","scope":81,"src":"422:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":78,"name":"string","nodeType":"ElementaryTypeName","src":"422:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"421:18:1"},"src":"395:45:1"},{"anonymous":false,"id":85,"name":"WithBytesArg","nameLocation":"449:12:1","nodeType":"EventDefinition","parameters":{"id":84,"nodeType":"ParameterList","parameters":[{"constant":false,"id":83,"indexed":false,"mutability":"mutable","name":"b","nameLocation":"468:1:1","nodeType":"VariableDeclaration","scope":85,"src":"462:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":82,"name":"bytes","nodeType":"ElementaryTypeName","src":"462:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"461:9:1"},"src":"443:28:1"},{"anonymous":false,"id":89,"name":"WithIndexedBytesArg","nameLocation":"480:19:1","nodeType":"EventDefinition","parameters":{"id":88,"nodeType":"ParameterList","parameters":[{"constant":false,"id":87,"indexed":true,"mutability":"mutable","name":"b","nameLocation":"514:1:1","nodeType":"VariableDeclaration","scope":89,"src":"500:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":86,"name":"bytes","nodeType":"ElementaryTypeName","src":"500:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"499:17:1"},"src":"474:43:1"},{"anonymous":false,"id":93,"name":"WithBytes32Arg","nameLocation":"526:14:1","nodeType":"EventDefinition","parameters":{"id":92,"nodeType":"ParameterList","parameters":[{"constant":false,"id":91,"indexed":false,"mutability":"mutable","name":"b","nameLocation":"549:1:1","nodeType":"VariableDeclaration","scope":93,"src":"541:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":90,"name":"bytes32","nodeType":"ElementaryTypeName","src":"541:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"540:11:1"},"src":"520:32:1"},{"anonymous":false,"id":98,"name":"WithStructArg","nameLocation":"561:13:1","nodeType":"EventDefinition","parameters":{"id":97,"nodeType":"ParameterList","parameters":[{"constant":false,"id":96,"indexed":false,"mutability":"mutable","name":"s","nameLocation":"582:1:1","nodeType":"VariableDeclaration","scope":98,"src":"575:8:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Struct_$47_memory_ptr","typeString":"struct Events.Struct"},"typeName":{"id":95,"nodeType":"UserDefinedTypeName","pathNode":{"id":94,"name":"Struct","nodeType":"IdentifierPath","referencedDeclaration":47,"src":"575:6:1"},"referencedDeclaration":47,"src":"575:6:1","typeDescriptions":{"typeIdentifier":"t_struct$_Struct_$47_storage_ptr","typeString":"struct Events.Struct"}},"visibility":"internal"}],"src":"574:10:1"},"src":"555:30:1"},{"anonymous":false,"id":102,"name":"WithIndexedBytes32Arg","nameLocation":"594:21:1","nodeType":"EventDefinition","parameters":{"id":101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":100,"indexed":true,"mutability":"mutable","name":"b","nameLocation":"632:1:1","nodeType":"VariableDeclaration","scope":102,"src":"616:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":99,"name":"bytes32","nodeType":"ElementaryTypeName","src":"616:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"615:19:1"},"src":"588:47:1"},{"anonymous":false,"id":108,"name":"WithUintArray","nameLocation":"644:13:1","nodeType":"EventDefinition","parameters":{"id":107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":106,"indexed":false,"mutability":"mutable","name":"a","nameLocation":"666:1:1","nodeType":"VariableDeclaration","scope":108,"src":"658:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_memory_ptr","typeString":"uint256[2]"},"typeName":{"baseType":{"id":103,"name":"uint","nodeType":"ElementaryTypeName","src":"658:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":105,"length":{"hexValue":"32","id":104,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"663:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"658:7:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_storage_ptr","typeString":"uint256[2]"}},"visibility":"internal"}],"src":"657:11:1"},"src":"638:31:1"},{"anonymous":false,"id":114,"name":"WithBytes32Array","nameLocation":"678:16:1","nodeType":"EventDefinition","parameters":{"id":113,"nodeType":"ParameterList","parameters":[{"constant":false,"id":112,"indexed":false,"mutability":"mutable","name":"a","nameLocation":"706:1:1","nodeType":"VariableDeclaration","scope":114,"src":"695:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_memory_ptr","typeString":"bytes32[2]"},"typeName":{"baseType":{"id":109,"name":"bytes32","nodeType":"ElementaryTypeName","src":"695:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":111,"length":{"hexValue":"32","id":110,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"703:1:1","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"695:10:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_storage_ptr","typeString":"bytes32[2]"}},"visibility":"internal"}],"src":"694:14:1"},"src":"672:37:1"},{"body":{"id":124,"nodeType":"Block","src":"745:30:1","statements":[{"expression":{"id":122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":120,"name":"anotherContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42,"src":"751:15:1","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":121,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":117,"src":"769:1:1","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"}},"src":"751:19:1","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"}},"id":123,"nodeType":"ExpressionStatement","src":"751:19:1"}]},"id":125,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":117,"mutability":"mutable","name":"c","nameLocation":"742:1:1","nodeType":"VariableDeclaration","scope":125,"src":"726:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"},"typeName":{"id":116,"nodeType":"UserDefinedTypeName","pathNode":{"id":115,"name":"AnotherContract","nodeType":"IdentifierPath","referencedDeclaration":374,"src":"726:15:1"},"referencedDeclaration":374,"src":"726:15:1","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"}},"visibility":"internal"}],"src":"725:19:1"},"returnParameters":{"id":119,"nodeType":"ParameterList","parameters":[],"src":"745:0:1"},"scope":359,"src":"713:62:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":128,"nodeType":"Block","src":"807:2:1","statements":[]},"functionSelector":"db6cdf68","id":129,"implemented":true,"kind":"function","modifiers":[],"name":"doNotEmit","nameLocation":"788:9:1","nodeType":"FunctionDefinition","parameters":{"id":126,"nodeType":"ParameterList","parameters":[],"src":"797:2:1"},"returnParameters":{"id":127,"nodeType":"ParameterList","parameters":[],"src":"807:0:1"},"scope":359,"src":"779:30:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":135,"nodeType":"Block","src":"847:29:1","statements":[{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":132,"name":"WithoutArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":49,"src":"858:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":133,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"858:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":134,"nodeType":"EmitStatement","src":"853:18:1"}]},"functionSelector":"90b37ea2","id":136,"implemented":true,"kind":"function","modifiers":[],"name":"emitWithoutArgs","nameLocation":"822:15:1","nodeType":"FunctionDefinition","parameters":{"id":130,"nodeType":"ParameterList","parameters":[],"src":"837:2:1"},"returnParameters":{"id":131,"nodeType":"ParameterList","parameters":[],"src":"847:0:1"},"scope":359,"src":"813:63:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":145,"nodeType":"Block","src":"913:30:1","statements":[{"eventCall":{"arguments":[{"id":142,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":138,"src":"936:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":141,"name":"WithUintArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"924:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":143,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"924:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":144,"nodeType":"EmitStatement","src":"919:19:1"}]},"functionSelector":"91940244","id":146,"implemented":true,"kind":"function","modifiers":[],"name":"emitUint","nameLocation":"889:8:1","nodeType":"FunctionDefinition","parameters":{"id":139,"nodeType":"ParameterList","parameters":[{"constant":false,"id":138,"mutability":"mutable","name":"u","nameLocation":"903:1:1","nodeType":"VariableDeclaration","scope":146,"src":"898:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":137,"name":"uint","nodeType":"ElementaryTypeName","src":"898:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"897:8:1"},"returnParameters":{"id":140,"nodeType":"ParameterList","parameters":[],"src":"913:0:1"},"scope":359,"src":"880:63:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":155,"nodeType":"Block","src":"978:29:1","statements":[{"eventCall":{"arguments":[{"id":152,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":148,"src":"1000:1:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":151,"name":"WithIntArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57,"src":"989:10:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_int256_$returns$__$","typeString":"function (int256)"}},"id":153,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"989:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":154,"nodeType":"EmitStatement","src":"984:18:1"}]},"functionSelector":"8a618191","id":156,"implemented":true,"kind":"function","modifiers":[],"name":"emitInt","nameLocation":"956:7:1","nodeType":"FunctionDefinition","parameters":{"id":149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":148,"mutability":"mutable","name":"i","nameLocation":"968:1:1","nodeType":"VariableDeclaration","scope":156,"src":"964:5:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":147,"name":"int","nodeType":"ElementaryTypeName","src":"964:3:1","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"963:7:1"},"returnParameters":{"id":150,"nodeType":"ParameterList","parameters":[],"src":"978:0:1"},"scope":359,"src":"947:60:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":165,"nodeType":"Block","src":"1050:33:1","statements":[{"eventCall":{"arguments":[{"id":162,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":158,"src":"1076:1:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":161,"name":"WithAddressArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61,"src":"1061:14:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":163,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1061:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":164,"nodeType":"EmitStatement","src":"1056:22:1"}]},"functionSelector":"ec5c3ede","id":166,"implemented":true,"kind":"function","modifiers":[],"name":"emitAddress","nameLocation":"1020:11:1","nodeType":"FunctionDefinition","parameters":{"id":159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":158,"mutability":"mutable","name":"a","nameLocation":"1040:1:1","nodeType":"VariableDeclaration","scope":166,"src":"1032:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":157,"name":"address","nodeType":"ElementaryTypeName","src":"1032:7:1","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1031:11:1"},"returnParameters":{"id":160,"nodeType":"ParameterList","parameters":[],"src":"1050:0:1"},"scope":359,"src":"1011:72:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":181,"nodeType":"Block","src":"1133:55:1","statements":[{"eventCall":{"arguments":[{"id":174,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":168,"src":"1156:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":173,"name":"WithUintArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"1144:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1144:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":176,"nodeType":"EmitStatement","src":"1139:19:1"},{"eventCall":{"arguments":[{"id":178,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":170,"src":"1181:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":177,"name":"WithUintArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"1169:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1169:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180,"nodeType":"EmitStatement","src":"1164:19:1"}]},"functionSelector":"0c0c941a","id":182,"implemented":true,"kind":"function","modifiers":[],"name":"emitUintTwice","nameLocation":"1096:13:1","nodeType":"FunctionDefinition","parameters":{"id":171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":168,"mutability":"mutable","name":"u","nameLocation":"1115:1:1","nodeType":"VariableDeclaration","scope":182,"src":"1110:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":167,"name":"uint","nodeType":"ElementaryTypeName","src":"1110:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":170,"mutability":"mutable","name":"v","nameLocation":"1123:1:1","nodeType":"VariableDeclaration","scope":182,"src":"1118:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":169,"name":"uint","nodeType":"ElementaryTypeName","src":"1118:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1109:16:1"},"returnParameters":{"id":172,"nodeType":"ParameterList","parameters":[],"src":"1133:0:1"},"scope":359,"src":"1087:101:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":194,"nodeType":"Block","src":"1237:37:1","statements":[{"eventCall":{"arguments":[{"id":190,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"1264:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":191,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"1267:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":189,"name":"WithTwoUintArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"1248:15:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1248:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":193,"nodeType":"EmitStatement","src":"1243:26:1"}]},"functionSelector":"38393646","id":195,"implemented":true,"kind":"function","modifiers":[],"name":"emitTwoUints","nameLocation":"1201:12:1","nodeType":"FunctionDefinition","parameters":{"id":187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":184,"mutability":"mutable","name":"u","nameLocation":"1219:1:1","nodeType":"VariableDeclaration","scope":195,"src":"1214:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":183,"name":"uint","nodeType":"ElementaryTypeName","src":"1214:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":186,"mutability":"mutable","name":"v","nameLocation":"1227:1:1","nodeType":"VariableDeclaration","scope":195,"src":"1222:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint","nodeType":"ElementaryTypeName","src":"1222:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1213:16:1"},"returnParameters":{"id":188,"nodeType":"ParameterList","parameters":[],"src":"1237:0:1"},"scope":359,"src":"1192:82:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":204,"nodeType":"Block","src":"1322:32:1","statements":[{"eventCall":{"arguments":[{"id":201,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":197,"src":"1347:1:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":200,"name":"WithStringArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"1333:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1333:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":203,"nodeType":"EmitStatement","src":"1328:21:1"}]},"functionSelector":"2536f127","id":205,"implemented":true,"kind":"function","modifiers":[],"name":"emitString","nameLocation":"1287:10:1","nodeType":"FunctionDefinition","parameters":{"id":198,"nodeType":"ParameterList","parameters":[{"constant":false,"id":197,"mutability":"mutable","name":"s","nameLocation":"1312:1:1","nodeType":"VariableDeclaration","scope":205,"src":"1298:15:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":196,"name":"string","nodeType":"ElementaryTypeName","src":"1298:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1297:17:1"},"returnParameters":{"id":199,"nodeType":"ParameterList","parameters":[],"src":"1322:0:1"},"scope":359,"src":"1278:76:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":214,"nodeType":"Block","src":"1409:39:1","statements":[{"eventCall":{"arguments":[{"id":211,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":207,"src":"1441:1:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":210,"name":"WithIndexedStringArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":81,"src":"1420:20:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1420:23:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":213,"nodeType":"EmitStatement","src":"1415:28:1"}]},"functionSelector":"443690a0","id":215,"implemented":true,"kind":"function","modifiers":[],"name":"emitIndexedString","nameLocation":"1367:17:1","nodeType":"FunctionDefinition","parameters":{"id":208,"nodeType":"ParameterList","parameters":[{"constant":false,"id":207,"mutability":"mutable","name":"s","nameLocation":"1399:1:1","nodeType":"VariableDeclaration","scope":215,"src":"1385:15:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":206,"name":"string","nodeType":"ElementaryTypeName","src":"1385:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1384:17:1"},"returnParameters":{"id":209,"nodeType":"ParameterList","parameters":[],"src":"1409:0:1"},"scope":359,"src":"1358:90:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":224,"nodeType":"Block","src":"1494:31:1","statements":[{"eventCall":{"arguments":[{"id":221,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":217,"src":"1518:1:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":220,"name":"WithBytesArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":85,"src":"1505:12:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":222,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1505:15:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":223,"nodeType":"EmitStatement","src":"1500:20:1"}]},"functionSelector":"c76f0635","id":225,"implemented":true,"kind":"function","modifiers":[],"name":"emitBytes","nameLocation":"1461:9:1","nodeType":"FunctionDefinition","parameters":{"id":218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":217,"mutability":"mutable","name":"b","nameLocation":"1484:1:1","nodeType":"VariableDeclaration","scope":225,"src":"1471:14:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":216,"name":"bytes","nodeType":"ElementaryTypeName","src":"1471:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1470:16:1"},"returnParameters":{"id":219,"nodeType":"ParameterList","parameters":[],"src":"1494:0:1"},"scope":359,"src":"1452:73:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":234,"nodeType":"Block","src":"1578:38:1","statements":[{"eventCall":{"arguments":[{"id":231,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":227,"src":"1609:1:1","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":230,"name":"WithIndexedBytesArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":89,"src":"1589:19:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory)"}},"id":232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1589:22:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":233,"nodeType":"EmitStatement","src":"1584:27:1"}]},"functionSelector":"cc07e605","id":235,"implemented":true,"kind":"function","modifiers":[],"name":"emitIndexedBytes","nameLocation":"1538:16:1","nodeType":"FunctionDefinition","parameters":{"id":228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":227,"mutability":"mutable","name":"b","nameLocation":"1568:1:1","nodeType":"VariableDeclaration","scope":235,"src":"1555:14:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":226,"name":"bytes","nodeType":"ElementaryTypeName","src":"1555:5:1","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1554:16:1"},"returnParameters":{"id":229,"nodeType":"ParameterList","parameters":[],"src":"1578:0:1"},"scope":359,"src":"1529:87:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":244,"nodeType":"Block","src":"1659:33:1","statements":[{"eventCall":{"arguments":[{"id":241,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":237,"src":"1685:1:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":240,"name":"WithBytes32Arg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":93,"src":"1670:14:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1670:17:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":243,"nodeType":"EmitStatement","src":"1665:22:1"}]},"functionSelector":"33311ef3","id":245,"implemented":true,"kind":"function","modifiers":[],"name":"emitBytes32","nameLocation":"1629:11:1","nodeType":"FunctionDefinition","parameters":{"id":238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":237,"mutability":"mutable","name":"b","nameLocation":"1649:1:1","nodeType":"VariableDeclaration","scope":245,"src":"1641:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":236,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1641:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1640:11:1"},"returnParameters":{"id":239,"nodeType":"ParameterList","parameters":[],"src":"1659:0:1"},"scope":359,"src":"1620:72:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":254,"nodeType":"Block","src":"1742:40:1","statements":[{"eventCall":{"arguments":[{"id":251,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":247,"src":"1775:1:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":250,"name":"WithIndexedBytes32Arg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":102,"src":"1753:21:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":252,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1753:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":253,"nodeType":"EmitStatement","src":"1748:29:1"}]},"functionSelector":"048858e5","id":255,"implemented":true,"kind":"function","modifiers":[],"name":"emitIndexedBytes32","nameLocation":"1705:18:1","nodeType":"FunctionDefinition","parameters":{"id":248,"nodeType":"ParameterList","parameters":[{"constant":false,"id":247,"mutability":"mutable","name":"b","nameLocation":"1732:1:1","nodeType":"VariableDeclaration","scope":255,"src":"1724:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":246,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1724:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"1723:11:1"},"returnParameters":{"id":249,"nodeType":"ParameterList","parameters":[],"src":"1742:0:1"},"scope":359,"src":"1696:86:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":270,"nodeType":"Block","src":"1845:57:1","statements":[{"eventCall":{"arguments":[{"id":263,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":259,"src":"1870:1:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":262,"name":"WithStringArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":71,"src":"1856:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1856:16:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":265,"nodeType":"EmitStatement","src":"1851:21:1"},{"eventCall":{"arguments":[{"id":267,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":257,"src":"1895:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":266,"name":"WithUintArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":53,"src":"1883:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":268,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1883:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":269,"nodeType":"EmitStatement","src":"1878:19:1"}]},"functionSelector":"2785f8d6","id":271,"implemented":true,"kind":"function","modifiers":[],"name":"emitUintAndString","nameLocation":"1795:17:1","nodeType":"FunctionDefinition","parameters":{"id":260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":257,"mutability":"mutable","name":"u","nameLocation":"1818:1:1","nodeType":"VariableDeclaration","scope":271,"src":"1813:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":256,"name":"uint","nodeType":"ElementaryTypeName","src":"1813:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":259,"mutability":"mutable","name":"s","nameLocation":"1835:1:1","nodeType":"VariableDeclaration","scope":271,"src":"1821:15:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":258,"name":"string","nodeType":"ElementaryTypeName","src":"1821:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1812:25:1"},"returnParameters":{"id":261,"nodeType":"ParameterList","parameters":[],"src":"1845:0:1"},"scope":359,"src":"1786:116:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":292,"nodeType":"Block","src":"1998:71:1","statements":[{"eventCall":{"arguments":[{"id":283,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":273,"src":"2025:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":284,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":275,"src":"2028:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":282,"name":"WithTwoUintArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":67,"src":"2009:15:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (uint256,uint256)"}},"id":285,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2009:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":286,"nodeType":"EmitStatement","src":"2004:26:1"},{"eventCall":{"arguments":[{"id":288,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":277,"src":"2059:1:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"id":289,"name":"t","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":279,"src":"2062:1:1","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":287,"name":"WithTwoStringArgs","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":77,"src":"2041:17:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory,string memory)"}},"id":290,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2041:23:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":291,"nodeType":"EmitStatement","src":"2036:28:1"}]},"functionSelector":"532b9cce","id":293,"implemented":true,"kind":"function","modifiers":[],"name":"emitTwoUintsAndTwoStrings","nameLocation":"1915:25:1","nodeType":"FunctionDefinition","parameters":{"id":280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":273,"mutability":"mutable","name":"u","nameLocation":"1946:1:1","nodeType":"VariableDeclaration","scope":293,"src":"1941:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":272,"name":"uint","nodeType":"ElementaryTypeName","src":"1941:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":275,"mutability":"mutable","name":"v","nameLocation":"1954:1:1","nodeType":"VariableDeclaration","scope":293,"src":"1949:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":274,"name":"uint","nodeType":"ElementaryTypeName","src":"1949:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":277,"mutability":"mutable","name":"s","nameLocation":"1971:1:1","nodeType":"VariableDeclaration","scope":293,"src":"1957:15:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":276,"name":"string","nodeType":"ElementaryTypeName","src":"1957:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":279,"mutability":"mutable","name":"t","nameLocation":"1988:1:1","nodeType":"VariableDeclaration","scope":293,"src":"1974:15:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":278,"name":"string","nodeType":"ElementaryTypeName","src":"1974:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1940:50:1"},"returnParameters":{"id":281,"nodeType":"ParameterList","parameters":[],"src":"1998:0:1"},"scope":359,"src":"1906:163:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":307,"nodeType":"Block","src":"2116:43:1","statements":[{"eventCall":{"arguments":[{"arguments":[{"id":302,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":295,"src":"2148:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":303,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":297,"src":"2151:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":301,"name":"Struct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":47,"src":"2141:6:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Struct_$47_storage_ptr_$","typeString":"type(struct Events.Struct storage pointer)"}},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2141:12:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Struct_$47_memory_ptr","typeString":"struct Events.Struct memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Struct_$47_memory_ptr","typeString":"struct Events.Struct memory"}],"id":300,"name":"WithStructArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98,"src":"2127:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_struct$_Struct_$47_memory_ptr_$returns$__$","typeString":"function (struct Events.Struct memory)"}},"id":305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2127:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":306,"nodeType":"EmitStatement","src":"2122:32:1"}]},"functionSelector":"9f31a223","id":308,"implemented":true,"kind":"function","modifiers":[],"name":"emitStruct","nameLocation":"2082:10:1","nodeType":"FunctionDefinition","parameters":{"id":298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":295,"mutability":"mutable","name":"u","nameLocation":"2098:1:1","nodeType":"VariableDeclaration","scope":308,"src":"2093:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":294,"name":"uint","nodeType":"ElementaryTypeName","src":"2093:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":297,"mutability":"mutable","name":"v","nameLocation":"2106:1:1","nodeType":"VariableDeclaration","scope":308,"src":"2101:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":296,"name":"uint","nodeType":"ElementaryTypeName","src":"2101:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2092:16:1"},"returnParameters":{"id":299,"nodeType":"ParameterList","parameters":[],"src":"2116:0:1"},"scope":359,"src":"2073:86:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":321,"nodeType":"Block","src":"2209:37:1","statements":[{"eventCall":{"arguments":[{"components":[{"id":316,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":310,"src":"2235:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":317,"name":"v","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":312,"src":"2238:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":318,"isConstant":false,"isInlineArray":true,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2234:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$2_memory_ptr","typeString":"uint256[2] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_uint256_$2_memory_ptr","typeString":"uint256[2] memory"}],"id":315,"name":"WithUintArray","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":108,"src":"2220:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_uint256_$2_memory_ptr_$returns$__$","typeString":"function (uint256[2] memory)"}},"id":319,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2220:21:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":320,"nodeType":"EmitStatement","src":"2215:26:1"}]},"functionSelector":"17aba537","id":322,"implemented":true,"kind":"function","modifiers":[],"name":"emitUintArray","nameLocation":"2172:13:1","nodeType":"FunctionDefinition","parameters":{"id":313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":310,"mutability":"mutable","name":"u","nameLocation":"2191:1:1","nodeType":"VariableDeclaration","scope":322,"src":"2186:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":309,"name":"uint","nodeType":"ElementaryTypeName","src":"2186:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":312,"mutability":"mutable","name":"v","nameLocation":"2199:1:1","nodeType":"VariableDeclaration","scope":322,"src":"2194:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":311,"name":"uint","nodeType":"ElementaryTypeName","src":"2194:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2185:16:1"},"returnParameters":{"id":314,"nodeType":"ParameterList","parameters":[],"src":"2209:0:1"},"scope":359,"src":"2163:83:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":335,"nodeType":"Block","src":"2305:40:1","statements":[{"eventCall":{"arguments":[{"components":[{"id":330,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":324,"src":"2334:1:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":331,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":326,"src":"2337:1:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"id":332,"isConstant":false,"isInlineArray":true,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"2333:6:1","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$2_memory_ptr","typeString":"bytes32[2] memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_array$_t_bytes32_$2_memory_ptr","typeString":"bytes32[2] memory"}],"id":329,"name":"WithBytes32Array","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":114,"src":"2316:16:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_array$_t_bytes32_$2_memory_ptr_$returns$__$","typeString":"function (bytes32[2] memory)"}},"id":333,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2316:24:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":334,"nodeType":"EmitStatement","src":"2311:29:1"}]},"functionSelector":"c0cd80e6","id":336,"implemented":true,"kind":"function","modifiers":[],"name":"emitBytes32Array","nameLocation":"2259:16:1","nodeType":"FunctionDefinition","parameters":{"id":327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":324,"mutability":"mutable","name":"b","nameLocation":"2284:1:1","nodeType":"VariableDeclaration","scope":336,"src":"2276:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":323,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2276:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":326,"mutability":"mutable","name":"c","nameLocation":"2295:1:1","nodeType":"VariableDeclaration","scope":336,"src":"2287:9:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":325,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2287:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"2275:22:1"},"returnParameters":{"id":328,"nodeType":"ParameterList","parameters":[],"src":"2305:0:1"},"scope":359,"src":"2250:95:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":345,"nodeType":"Block","src":"2404:22:1","statements":[{"expression":{"arguments":[{"id":342,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":338,"src":"2419:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":341,"name":"emitUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"2410:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":343,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2410:11:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":344,"nodeType":"ExpressionStatement","src":"2410:11:1"}]},"functionSelector":"813a8cf5","id":346,"implemented":true,"kind":"function","modifiers":[],"name":"emitNestedUintFromSameContract","nameLocation":"2358:30:1","nodeType":"FunctionDefinition","parameters":{"id":339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":338,"mutability":"mutable","name":"u","nameLocation":"2394:1:1","nodeType":"VariableDeclaration","scope":346,"src":"2389:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":337,"name":"uint","nodeType":"ElementaryTypeName","src":"2389:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2388:8:1"},"returnParameters":{"id":340,"nodeType":"ParameterList","parameters":[],"src":"2404:0:1"},"scope":359,"src":"2349:77:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":357,"nodeType":"Block","src":"2488:38:1","statements":[{"expression":{"arguments":[{"id":354,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":348,"src":"2519:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":351,"name":"anotherContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":42,"src":"2494:15:1","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherContract_$374","typeString":"contract AnotherContract"}},"id":353,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"emitUint","nodeType":"MemberAccess","referencedDeclaration":373,"src":"2494:24:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2494:27:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":356,"nodeType":"ExpressionStatement","src":"2494:27:1"}]},"functionSelector":"d3931e57","id":358,"implemented":true,"kind":"function","modifiers":[],"name":"emitNestedUintFromAnotherContract","nameLocation":"2439:33:1","nodeType":"FunctionDefinition","parameters":{"id":349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":348,"mutability":"mutable","name":"u","nameLocation":"2478:1:1","nodeType":"VariableDeclaration","scope":358,"src":"2473:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":347,"name":"uint","nodeType":"ElementaryTypeName","src":"2473:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2472:8:1"},"returnParameters":{"id":350,"nodeType":"ParameterList","parameters":[],"src":"2488:0:1"},"scope":359,"src":"2430:96:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":399,"src":"57:2471:1","usedErrors":[]},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":374,"linearizedBaseContracts":[374],"name":"AnotherContract","nameLocation":"2539:15:1","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":363,"name":"WithUintArg","nameLocation":"2565:11:1","nodeType":"EventDefinition","parameters":{"id":362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":361,"indexed":false,"mutability":"mutable","name":"u","nameLocation":"2582:1:1","nodeType":"VariableDeclaration","scope":363,"src":"2577:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":360,"name":"uint","nodeType":"ElementaryTypeName","src":"2577:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2576:8:1"},"src":"2559:26:1"},{"body":{"id":372,"nodeType":"Block","src":"2622:30:1","statements":[{"eventCall":{"arguments":[{"id":369,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":365,"src":"2645:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":368,"name":"WithUintArg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":363,"src":"2633:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2633:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":371,"nodeType":"EmitStatement","src":"2628:19:1"}]},"functionSelector":"91940244","id":373,"implemented":true,"kind":"function","modifiers":[],"name":"emitUint","nameLocation":"2598:8:1","nodeType":"FunctionDefinition","parameters":{"id":366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":365,"mutability":"mutable","name":"u","nameLocation":"2612:1:1","nodeType":"VariableDeclaration","scope":373,"src":"2607:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":364,"name":"uint","nodeType":"ElementaryTypeName","src":"2607:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2606:8:1"},"returnParameters":{"id":367,"nodeType":"ParameterList","parameters":[],"src":"2622:0:1"},"scope":374,"src":"2589:63:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":399,"src":"2530:124:1","usedErrors":[]},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":398,"linearizedBaseContracts":[398],"name":"OverrideEventContract","nameLocation":"2665:21:1","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"id":378,"name":"simpleEvent","nameLocation":"2697:11:1","nodeType":"EventDefinition","parameters":{"id":377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":376,"indexed":false,"mutability":"mutable","name":"u","nameLocation":"2714:1:1","nodeType":"VariableDeclaration","scope":378,"src":"2709:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":375,"name":"uint","nodeType":"ElementaryTypeName","src":"2709:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2708:8:1"},"src":"2691:26:1"},{"anonymous":false,"id":380,"name":"simpleEvent","nameLocation":"2726:11:1","nodeType":"EventDefinition","parameters":{"id":379,"nodeType":"ParameterList","parameters":[],"src":"2737:2:1"},"src":"2720:20:1"},{"body":{"id":389,"nodeType":"Block","src":"2795:30:1","statements":[{"eventCall":{"arguments":[{"id":386,"name":"u","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":382,"src":"2818:1:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":385,"name":"simpleEvent","nodeType":"Identifier","overloadedDeclarations":[378,380],"referencedDeclaration":378,"src":"2806:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256)"}},"id":387,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2806:14:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":388,"nodeType":"EmitStatement","src":"2801:19:1"}]},"functionSelector":"2ce136d9","id":390,"implemented":true,"kind":"function","modifiers":[],"name":"emitSimpleEventWithUintArg","nameLocation":"2753:26:1","nodeType":"FunctionDefinition","parameters":{"id":383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":382,"mutability":"mutable","name":"u","nameLocation":"2785:1:1","nodeType":"VariableDeclaration","scope":390,"src":"2780:6:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":381,"name":"uint","nodeType":"ElementaryTypeName","src":"2780:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2779:8:1"},"returnParameters":{"id":384,"nodeType":"ParameterList","parameters":[],"src":"2795:0:1"},"scope":398,"src":"2744:81:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":396,"nodeType":"Block","src":"2873:29:1","statements":[{"eventCall":{"arguments":[],"expression":{"argumentTypes":[],"id":393,"name":"simpleEvent","nodeType":"Identifier","overloadedDeclarations":[378,380],"referencedDeclaration":380,"src":"2884:11:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$__$returns$__$","typeString":"function ()"}},"id":394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2884:13:1","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":395,"nodeType":"EmitStatement","src":"2879:18:1"}]},"functionSelector":"8e1c72bb","id":397,"implemented":true,"kind":"function","modifiers":[],"name":"emitSimpleEventWithoutArg","nameLocation":"2838:25:1","nodeType":"FunctionDefinition","parameters":{"id":391,"nodeType":"ParameterList","parameters":[],"src":"2863:2:1"},"returnParameters":{"id":392,"nodeType":"ParameterList","parameters":[],"src":"2873:0:1"},"scope":398,"src":"2829:73:1","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":399,"src":"2656:248:1","usedErrors":[]}],"src":"32:2873:1"},"id":1},"contracts/Matchers.sol":{"ast":{"absolutePath":"contracts/Matchers.sol","exportedSymbols":{"AnotherMatchersContract":[710],"Matchers":[688]},"id":711,"license":"UNLICENSED","nodeType":"SourceUnit","nodes":[{"id":400,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"40:23:2"},{"abstract":false,"baseContracts":[],"contractDependencies":[710],"contractKind":"contract","fullyImplemented":true,"id":688,"linearizedBaseContracts":[688],"name":"Matchers","nameLocation":"74:8:2","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":402,"mutability":"mutable","name":"x","nameLocation":"92:1:2","nodeType":"VariableDeclaration","scope":688,"src":"87:6:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":401,"name":"uint","nodeType":"ElementaryTypeName","src":"87:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"anonymous":false,"id":404,"name":"SomeEvent","nameLocation":"104:9:2","nodeType":"EventDefinition","parameters":{"id":403,"nodeType":"ParameterList","parameters":[],"src":"113:2:2"},"src":"98:18:2"},{"constant":false,"id":407,"mutability":"mutable","name":"anotherContract","nameLocation":"144:15:2","nodeType":"VariableDeclaration","scope":688,"src":"120:39:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"},"typeName":{"id":406,"nodeType":"UserDefinedTypeName","pathNode":{"id":405,"name":"AnotherMatchersContract","nodeType":"IdentifierPath","referencedDeclaration":710,"src":"120:23:2"},"referencedDeclaration":710,"src":"120:23:2","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"}},"visibility":"internal"},{"canonicalName":"Matchers.Pair","id":412,"members":[{"constant":false,"id":409,"mutability":"mutable","name":"a","nameLocation":"183:1:2","nodeType":"VariableDeclaration","scope":412,"src":"178:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":408,"name":"uint","nodeType":"ElementaryTypeName","src":"178:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":411,"mutability":"mutable","name":"b","nameLocation":"191:1:2","nodeType":"VariableDeclaration","scope":412,"src":"186:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":410,"name":"uint","nodeType":"ElementaryTypeName","src":"186:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Pair","nameLocation":"171:4:2","nodeType":"StructDefinition","scope":688,"src":"164:31:2","visibility":"public"},{"id":414,"name":"SomeCustomError","nameLocation":"205:15:2","nodeType":"ErrorDefinition","parameters":{"id":413,"nodeType":"ParameterList","parameters":[],"src":"220:2:2"},"src":"199:24:2"},{"id":416,"name":"AnotherCustomError","nameLocation":"232:18:2","nodeType":"ErrorDefinition","parameters":{"id":415,"nodeType":"ParameterList","parameters":[],"src":"250:2:2"},"src":"226:27:2"},{"id":420,"name":"CustomErrorWithInt","nameLocation":"262:18:2","nodeType":"ErrorDefinition","parameters":{"id":419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":418,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":420,"src":"281:3:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":417,"name":"int","nodeType":"ElementaryTypeName","src":"281:3:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"280:5:2"},"src":"256:30:2"},{"id":424,"name":"CustomErrorWithUint","nameLocation":"295:19:2","nodeType":"ErrorDefinition","parameters":{"id":423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":422,"mutability":"mutable","name":"nameToForceEthersToUseAnArrayLikeWithNamedProperties","nameLocation":"320:52:2","nodeType":"VariableDeclaration","scope":424,"src":"315:57:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":421,"name":"uint","nodeType":"ElementaryTypeName","src":"315:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"314:59:2"},"src":"289:85:2"},{"id":430,"name":"CustomErrorWithUintAndString","nameLocation":"383:28:2","nodeType":"ErrorDefinition","parameters":{"id":429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":426,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":430,"src":"412:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":425,"name":"uint","nodeType":"ElementaryTypeName","src":"412:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":428,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":430,"src":"418:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":427,"name":"string","nodeType":"ElementaryTypeName","src":"418:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"411:14:2"},"src":"377:49:2"},{"id":435,"name":"CustomErrorWithPair","nameLocation":"435:19:2","nodeType":"ErrorDefinition","parameters":{"id":434,"nodeType":"ParameterList","parameters":[{"constant":false,"id":433,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":435,"src":"455:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Pair_$412_memory_ptr","typeString":"struct Matchers.Pair"},"typeName":{"id":432,"nodeType":"UserDefinedTypeName","pathNode":{"id":431,"name":"Pair","nodeType":"IdentifierPath","referencedDeclaration":412,"src":"455:4:2"},"referencedDeclaration":412,"src":"455:4:2","typeDescriptions":{"typeIdentifier":"t_struct$_Pair_$412_storage_ptr","typeString":"struct Matchers.Pair"}},"visibility":"internal"}],"src":"454:6:2"},"src":"429:32:2"},{"body":{"id":445,"nodeType":"Block","src":"480:58:2","statements":[{"expression":{"id":443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":438,"name":"anotherContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":407,"src":"486:15:2","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"id":441,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"NewExpression","src":"504:27:2","typeDescriptions":{"typeIdentifier":"t_function_creation_nonpayable$__$returns$_t_contract$_AnotherMatchersContract_$710_$","typeString":"function () returns (contract AnotherMatchersContract)"},"typeName":{"id":440,"nodeType":"UserDefinedTypeName","pathNode":{"id":439,"name":"AnotherMatchersContract","nodeType":"IdentifierPath","referencedDeclaration":710,"src":"508:23:2"},"referencedDeclaration":710,"src":"508:23:2","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"}}},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"504:29:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"}},"src":"486:47:2","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"}},"id":444,"nodeType":"ExpressionStatement","src":"486:47:2"}]},"id":446,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":436,"nodeType":"ParameterList","parameters":[],"src":"477:2:2"},"returnParameters":{"id":437,"nodeType":"ParameterList","parameters":[],"src":"480:0:2"},"scope":688,"src":"465:73:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":452,"nodeType":"Block","src":"569:49:2","statements":[{"expression":{"id":450,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"575:3:2","subExpression":{"id":449,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"575:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":451,"nodeType":"ExpressionStatement","src":"575:3:2"}]},"functionSelector":"74afd452","id":453,"implemented":true,"kind":"function","modifiers":[],"name":"succeeds","nameLocation":"551:8:2","nodeType":"FunctionDefinition","parameters":{"id":447,"nodeType":"ParameterList","parameters":[],"src":"559:2:2"},"returnParameters":{"id":448,"nodeType":"ParameterList","parameters":[],"src":"569:0:2"},"scope":688,"src":"542:76:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":460,"nodeType":"Block","src":"673:19:2","statements":[{"expression":{"id":458,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"686:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":457,"id":459,"nodeType":"Return","src":"679:8:2"}]},"functionSelector":"6fc588d2","id":461,"implemented":true,"kind":"function","modifiers":[],"name":"succeedsView","nameLocation":"631:12:2","nodeType":"FunctionDefinition","parameters":{"id":454,"nodeType":"ParameterList","parameters":[],"src":"643:2:2"},"returnParameters":{"id":457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":456,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":461,"src":"667:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":455,"name":"uint","nodeType":"ElementaryTypeName","src":"667:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"666:6:2"},"scope":688,"src":"622:70:2","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":474,"nodeType":"Block","src":"746:42:2","statements":[{"expression":{"id":467,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"752:3:2","subExpression":{"id":466,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"752:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":468,"nodeType":"ExpressionStatement","src":"752:3:2"},{"expression":{"arguments":[{"hexValue":"66616c7365","id":470,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"769:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":471,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":463,"src":"776:6:2","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":469,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"761:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"761:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":473,"nodeType":"ExpressionStatement","src":"761:22:2"}]},"functionSelector":"6f1fdc31","id":475,"implemented":true,"kind":"function","modifiers":[],"name":"revertsWith","nameLocation":"705:11:2","nodeType":"FunctionDefinition","parameters":{"id":464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":463,"mutability":"mutable","name":"reason","nameLocation":"731:6:2","nodeType":"VariableDeclaration","scope":475,"src":"717:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":462,"name":"string","nodeType":"ElementaryTypeName","src":"717:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"716:22:2"},"returnParameters":{"id":465,"nodeType":"ParameterList","parameters":[],"src":"746:0:2"},"scope":688,"src":"696:92:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":485,"nodeType":"Block","src":"851:33:2","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":481,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"865:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"id":482,"name":"reason","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":477,"src":"872:6:2","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":480,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"857:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"857:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":484,"nodeType":"ExpressionStatement","src":"857:22:2"}]},"functionSelector":"467e3d37","id":486,"implemented":true,"kind":"function","modifiers":[],"name":"revertsWithView","nameLocation":"801:15:2","nodeType":"FunctionDefinition","parameters":{"id":478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":477,"mutability":"mutable","name":"reason","nameLocation":"831:6:2","nodeType":"VariableDeclaration","scope":486,"src":"817:20:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":476,"name":"string","nodeType":"ElementaryTypeName","src":"817:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"816:22:2"},"returnParameters":{"id":479,"nodeType":"ParameterList","parameters":[],"src":"851:0:2"},"scope":688,"src":"792:92:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":496,"nodeType":"Block","src":"927:34:2","statements":[{"expression":{"id":490,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"933:3:2","subExpression":{"id":489,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"933:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":491,"nodeType":"ExpressionStatement","src":"933:3:2"},{"expression":{"arguments":[{"hexValue":"66616c7365","id":493,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"950:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":492,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"942:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":494,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"942:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":495,"nodeType":"ExpressionStatement","src":"942:14:2"}]},"functionSelector":"1b4f3f3d","id":497,"implemented":true,"kind":"function","modifiers":[],"name":"revertsWithoutReason","nameLocation":"897:20:2","nodeType":"FunctionDefinition","parameters":{"id":487,"nodeType":"ParameterList","parameters":[],"src":"917:2:2"},"returnParameters":{"id":488,"nodeType":"ParameterList","parameters":[],"src":"927:0:2"},"scope":688,"src":"888:73:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":504,"nodeType":"Block","src":"1013:25:2","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":501,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1027:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":500,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"1019:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1019:14:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":503,"nodeType":"ExpressionStatement","src":"1019:14:2"}]},"functionSelector":"58a1d1ed","id":505,"implemented":true,"kind":"function","modifiers":[],"name":"revertsWithoutReasonView","nameLocation":"974:24:2","nodeType":"FunctionDefinition","parameters":{"id":498,"nodeType":"ParameterList","parameters":[],"src":"998:2:2"},"returnParameters":{"id":499,"nodeType":"ParameterList","parameters":[],"src":"1013:0:2"},"scope":688,"src":"965:73:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":515,"nodeType":"Block","src":"1072:33:2","statements":[{"expression":{"id":509,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1078:3:2","subExpression":{"id":508,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"1078:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":510,"nodeType":"ExpressionStatement","src":"1078:3:2"},{"expression":{"arguments":[{"hexValue":"66616c7365","id":512,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1094:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":511,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"1087:6:2","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":513,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1087:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":514,"nodeType":"ExpressionStatement","src":"1087:13:2"}]},"functionSelector":"b6bbe061","id":516,"implemented":true,"kind":"function","modifiers":[],"name":"panicAssert","nameLocation":"1051:11:2","nodeType":"FunctionDefinition","parameters":{"id":506,"nodeType":"ParameterList","parameters":[],"src":"1062:2:2"},"returnParameters":{"id":507,"nodeType":"ParameterList","parameters":[],"src":"1072:0:2"},"scope":688,"src":"1042:63:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":523,"nodeType":"Block","src":"1148:24:2","statements":[{"expression":{"arguments":[{"hexValue":"66616c7365","id":520,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1161:5:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":519,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-3,"src":"1154:6:2","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":521,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1154:13:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":522,"nodeType":"ExpressionStatement","src":"1154:13:2"}]},"functionSelector":"5b94e31e","id":524,"implemented":true,"kind":"function","modifiers":[],"name":"panicAssertView","nameLocation":"1118:15:2","nodeType":"FunctionDefinition","parameters":{"id":517,"nodeType":"ParameterList","parameters":[],"src":"1133:2:2"},"returnParameters":{"id":518,"nodeType":"ParameterList","parameters":[],"src":"1148:0:2"},"scope":688,"src":"1109:63:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":533,"nodeType":"Block","src":"1220:44:2","statements":[{"expression":{"id":528,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1226:3:2","subExpression":{"id":527,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"1226:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":529,"nodeType":"ExpressionStatement","src":"1226:3:2"},{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":530,"name":"SomeCustomError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"1242:15:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1242:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":532,"nodeType":"RevertStatement","src":"1235:24:2"}]},"functionSelector":"bad92aa9","id":534,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithSomeCustomError","nameLocation":"1185:25:2","nodeType":"FunctionDefinition","parameters":{"id":525,"nodeType":"ParameterList","parameters":[],"src":"1210:2:2"},"returnParameters":{"id":526,"nodeType":"ParameterList","parameters":[],"src":"1220:0:2"},"scope":688,"src":"1176:88:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":540,"nodeType":"Block","src":"1321:35:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":537,"name":"SomeCustomError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":414,"src":"1334:15:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":538,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1334:17:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":539,"nodeType":"RevertStatement","src":"1327:24:2"}]},"functionSelector":"ffb4746b","id":541,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithSomeCustomErrorView","nameLocation":"1277:29:2","nodeType":"FunctionDefinition","parameters":{"id":535,"nodeType":"ParameterList","parameters":[],"src":"1306:2:2"},"returnParameters":{"id":536,"nodeType":"ParameterList","parameters":[],"src":"1321:0:2"},"scope":688,"src":"1268:88:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":550,"nodeType":"Block","src":"1407:47:2","statements":[{"expression":{"id":545,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1413:3:2","subExpression":{"id":544,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"1413:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":546,"nodeType":"ExpressionStatement","src":"1413:3:2"},{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":547,"name":"AnotherCustomError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"1429:18:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":548,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1429:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":549,"nodeType":"RevertStatement","src":"1422:27:2"}]},"functionSelector":"4b5bbf6a","id":551,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithAnotherCustomError","nameLocation":"1369:28:2","nodeType":"FunctionDefinition","parameters":{"id":542,"nodeType":"ParameterList","parameters":[],"src":"1397:2:2"},"returnParameters":{"id":543,"nodeType":"ParameterList","parameters":[],"src":"1407:0:2"},"scope":688,"src":"1360:94:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":557,"nodeType":"Block","src":"1514:38:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":554,"name":"AnotherCustomError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"1527:18:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":555,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1527:20:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":556,"nodeType":"RevertStatement","src":"1520:27:2"}]},"functionSelector":"aac014e0","id":558,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithAnotherCustomErrorView","nameLocation":"1467:32:2","nodeType":"FunctionDefinition","parameters":{"id":552,"nodeType":"ParameterList","parameters":[],"src":"1499:2:2"},"returnParameters":{"id":553,"nodeType":"ParameterList","parameters":[],"src":"1514:0:2"},"scope":688,"src":"1458:94:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":569,"nodeType":"Block","src":"1611:69:2","statements":[{"expression":{"id":562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1617:3:2","subExpression":{"id":561,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"1617:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":563,"nodeType":"ExpressionStatement","src":"1617:3:2"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":564,"name":"anotherContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":407,"src":"1626:15:2","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"}},"id":566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"revertWithYetAnotherCustomError","nodeType":"MemberAccess","referencedDeclaration":702,"src":"1626:47:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":567,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1626:49:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":568,"nodeType":"ExpressionStatement","src":"1626:49:2"}]},"functionSelector":"772f243a","id":570,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithAnotherContractCustomError","nameLocation":"1565:36:2","nodeType":"FunctionDefinition","parameters":{"id":559,"nodeType":"ParameterList","parameters":[],"src":"1601:2:2"},"returnParameters":{"id":560,"nodeType":"ParameterList","parameters":[],"src":"1611:0:2"},"scope":688,"src":"1556:124:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":578,"nodeType":"Block","src":"1748:64:2","statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":573,"name":"anotherContract","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":407,"src":"1754:15:2","typeDescriptions":{"typeIdentifier":"t_contract$_AnotherMatchersContract_$710","typeString":"contract AnotherMatchersContract"}},"id":575,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"revertWithYetAnotherCustomErrorView","nodeType":"MemberAccess","referencedDeclaration":709,"src":"1754:51:2","typeDescriptions":{"typeIdentifier":"t_function_external_pure$__$returns$__$","typeString":"function () pure external"}},"id":576,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1754:53:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":577,"nodeType":"ExpressionStatement","src":"1754:53:2"}]},"functionSelector":"622051f1","id":579,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithAnotherContractCustomErrorView","nameLocation":"1693:40:2","nodeType":"FunctionDefinition","parameters":{"id":571,"nodeType":"ParameterList","parameters":[],"src":"1733:2:2"},"returnParameters":{"id":572,"nodeType":"ParameterList","parameters":[],"src":"1748:0:2"},"scope":688,"src":"1684:128:2","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":591,"nodeType":"Block","src":"1870:49:2","statements":[{"expression":{"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"1876:3:2","subExpression":{"id":584,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"1876:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":586,"nodeType":"ExpressionStatement","src":"1876:3:2"},{"errorCall":{"arguments":[{"id":588,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":581,"src":"1912:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":587,"name":"CustomErrorWithUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":424,"src":"1892:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":589,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1892:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":590,"nodeType":"RevertStatement","src":"1885:29:2"}]},"functionSelector":"73d2ea85","id":592,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithUint","nameLocation":"1825:29:2","nodeType":"FunctionDefinition","parameters":{"id":582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":581,"mutability":"mutable","name":"n","nameLocation":"1860:1:2","nodeType":"VariableDeclaration","scope":592,"src":"1855:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":580,"name":"uint","nodeType":"ElementaryTypeName","src":"1855:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1854:8:2"},"returnParameters":{"id":583,"nodeType":"ParameterList","parameters":[],"src":"1870:0:2"},"scope":688,"src":"1816:103:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":601,"nodeType":"Block","src":"1986:40:2","statements":[{"errorCall":{"arguments":[{"id":598,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":594,"src":"2019:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":597,"name":"CustomErrorWithUint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":424,"src":"1999:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$returns$__$","typeString":"function (uint256) pure"}},"id":599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1999:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":600,"nodeType":"RevertStatement","src":"1992:29:2"}]},"functionSelector":"7c3cb0af","id":602,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithUintView","nameLocation":"1932:33:2","nodeType":"FunctionDefinition","parameters":{"id":595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":594,"mutability":"mutable","name":"n","nameLocation":"1971:1:2","nodeType":"VariableDeclaration","scope":602,"src":"1966:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":593,"name":"uint","nodeType":"ElementaryTypeName","src":"1966:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1965:8:2"},"returnParameters":{"id":596,"nodeType":"ParameterList","parameters":[],"src":"1986:0:2"},"scope":688,"src":"1923:103:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":614,"nodeType":"Block","src":"2082:48:2","statements":[{"expression":{"id":608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2088:3:2","subExpression":{"id":607,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"2088:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":609,"nodeType":"ExpressionStatement","src":"2088:3:2"},{"errorCall":{"arguments":[{"id":611,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":604,"src":"2123:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":610,"name":"CustomErrorWithInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":420,"src":"2104:18:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int256_$returns$__$","typeString":"function (int256) pure"}},"id":612,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2104:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":613,"nodeType":"RevertStatement","src":"2097:28:2"}]},"functionSelector":"8f933030","id":615,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithInt","nameLocation":"2039:28:2","nodeType":"FunctionDefinition","parameters":{"id":605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":604,"mutability":"mutable","name":"i","nameLocation":"2072:1:2","nodeType":"VariableDeclaration","scope":615,"src":"2068:5:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":603,"name":"int","nodeType":"ElementaryTypeName","src":"2068:3:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2067:7:2"},"returnParameters":{"id":606,"nodeType":"ParameterList","parameters":[],"src":"2082:0:2"},"scope":688,"src":"2030:100:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":624,"nodeType":"Block","src":"2195:39:2","statements":[{"errorCall":{"arguments":[{"id":621,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":617,"src":"2227:1:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":620,"name":"CustomErrorWithInt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":420,"src":"2208:18:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_int256_$returns$__$","typeString":"function (int256) pure"}},"id":622,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2208:21:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":623,"nodeType":"RevertStatement","src":"2201:28:2"}]},"functionSelector":"47c56769","id":625,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithIntView","nameLocation":"2143:32:2","nodeType":"FunctionDefinition","parameters":{"id":618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":617,"mutability":"mutable","name":"i","nameLocation":"2180:1:2","nodeType":"VariableDeclaration","scope":625,"src":"2176:5:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":616,"name":"int","nodeType":"ElementaryTypeName","src":"2176:3:2","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"2175:7:2"},"returnParameters":{"id":619,"nodeType":"ParameterList","parameters":[],"src":"2195:0:2"},"scope":688,"src":"2134:100:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":640,"nodeType":"Block","src":"2318:61:2","statements":[{"expression":{"id":633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2324:3:2","subExpression":{"id":632,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"2324:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":634,"nodeType":"ExpressionStatement","src":"2324:3:2"},{"errorCall":{"arguments":[{"id":636,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":627,"src":"2369:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":637,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":629,"src":"2372:1:2","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":635,"name":"CustomErrorWithUintAndString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":430,"src":"2340:28:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory) pure"}},"id":638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2340:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":639,"nodeType":"RevertStatement","src":"2333:41:2"}]},"functionSelector":"fe276a34","id":641,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithUintAndString","nameLocation":"2247:38:2","nodeType":"FunctionDefinition","parameters":{"id":630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":627,"mutability":"mutable","name":"n","nameLocation":"2291:1:2","nodeType":"VariableDeclaration","scope":641,"src":"2286:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":626,"name":"uint","nodeType":"ElementaryTypeName","src":"2286:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":629,"mutability":"mutable","name":"s","nameLocation":"2308:1:2","nodeType":"VariableDeclaration","scope":641,"src":"2294:15:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":628,"name":"string","nodeType":"ElementaryTypeName","src":"2294:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2285:25:2"},"returnParameters":{"id":631,"nodeType":"ParameterList","parameters":[],"src":"2318:0:2"},"scope":688,"src":"2238:141:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":653,"nodeType":"Block","src":"2472:52:2","statements":[{"errorCall":{"arguments":[{"id":649,"name":"n","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":643,"src":"2514:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":650,"name":"s","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":645,"src":"2517:1:2","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":648,"name":"CustomErrorWithUintAndString","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":430,"src":"2485:28:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,string memory) pure"}},"id":651,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2485:34:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":652,"nodeType":"RevertStatement","src":"2478:41:2"}]},"functionSelector":"3ba4178b","id":654,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithUintAndStringView","nameLocation":"2392:42:2","nodeType":"FunctionDefinition","parameters":{"id":646,"nodeType":"ParameterList","parameters":[{"constant":false,"id":643,"mutability":"mutable","name":"n","nameLocation":"2440:1:2","nodeType":"VariableDeclaration","scope":654,"src":"2435:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":642,"name":"uint","nodeType":"ElementaryTypeName","src":"2435:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":645,"mutability":"mutable","name":"s","nameLocation":"2457:1:2","nodeType":"VariableDeclaration","scope":654,"src":"2443:15:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":644,"name":"string","nodeType":"ElementaryTypeName","src":"2443:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2434:25:2"},"returnParameters":{"id":647,"nodeType":"ParameterList","parameters":[],"src":"2472:0:2"},"scope":688,"src":"2383:141:2","stateMutability":"pure","virtual":false,"visibility":"public"},{"body":{"id":671,"nodeType":"Block","src":"2590:58:2","statements":[{"expression":{"id":662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2596:3:2","subExpression":{"id":661,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":402,"src":"2596:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":663,"nodeType":"ExpressionStatement","src":"2596:3:2"},{"errorCall":{"arguments":[{"arguments":[{"id":666,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":656,"src":"2637:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":667,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":658,"src":"2640:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":665,"name":"Pair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":412,"src":"2632:4:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pair_$412_storage_ptr_$","typeString":"type(struct Matchers.Pair storage pointer)"}},"id":668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2632:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pair_$412_memory_ptr","typeString":"struct Matchers.Pair memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Pair_$412_memory_ptr","typeString":"struct Matchers.Pair memory"}],"id":664,"name":"CustomErrorWithPair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"2612:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_struct$_Pair_$412_memory_ptr_$returns$__$","typeString":"function (struct Matchers.Pair memory) pure"}},"id":669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2612:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":670,"nodeType":"RevertStatement","src":"2605:38:2"}]},"functionSelector":"e0a03812","id":672,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithPair","nameLocation":"2537:29:2","nodeType":"FunctionDefinition","parameters":{"id":659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":656,"mutability":"mutable","name":"a","nameLocation":"2572:1:2","nodeType":"VariableDeclaration","scope":672,"src":"2567:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":655,"name":"uint","nodeType":"ElementaryTypeName","src":"2567:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":658,"mutability":"mutable","name":"b","nameLocation":"2580:1:2","nodeType":"VariableDeclaration","scope":672,"src":"2575:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":657,"name":"uint","nodeType":"ElementaryTypeName","src":"2575:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2566:16:2"},"returnParameters":{"id":660,"nodeType":"ParameterList","parameters":[],"src":"2590:0:2"},"scope":688,"src":"2528:120:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":686,"nodeType":"Block","src":"2723:49:2","statements":[{"errorCall":{"arguments":[{"arguments":[{"id":681,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":674,"src":"2761:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":682,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":676,"src":"2764:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":680,"name":"Pair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":412,"src":"2756:4:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Pair_$412_storage_ptr_$","typeString":"type(struct Matchers.Pair storage pointer)"}},"id":683,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2756:10:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Pair_$412_memory_ptr","typeString":"struct Matchers.Pair memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Pair_$412_memory_ptr","typeString":"struct Matchers.Pair memory"}],"id":679,"name":"CustomErrorWithPair","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":435,"src":"2736:19:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_struct$_Pair_$412_memory_ptr_$returns$__$","typeString":"function (struct Matchers.Pair memory) pure"}},"id":684,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2736:31:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":685,"nodeType":"RevertStatement","src":"2729:38:2"}]},"functionSelector":"1f542cf3","id":687,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithCustomErrorWithPairView","nameLocation":"2661:33:2","nodeType":"FunctionDefinition","parameters":{"id":677,"nodeType":"ParameterList","parameters":[{"constant":false,"id":674,"mutability":"mutable","name":"a","nameLocation":"2700:1:2","nodeType":"VariableDeclaration","scope":687,"src":"2695:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":673,"name":"uint","nodeType":"ElementaryTypeName","src":"2695:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":676,"mutability":"mutable","name":"b","nameLocation":"2708:1:2","nodeType":"VariableDeclaration","scope":687,"src":"2703:6:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":675,"name":"uint","nodeType":"ElementaryTypeName","src":"2703:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2694:16:2"},"returnParameters":{"id":678,"nodeType":"ParameterList","parameters":[],"src":"2723:0:2"},"scope":688,"src":"2652:120:2","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":711,"src":"65:2709:2","usedErrors":[414,416,420,424,430,435]},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":710,"linearizedBaseContracts":[710],"name":"AnotherMatchersContract","nameLocation":"2785:23:2","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":690,"mutability":"mutable","name":"x","nameLocation":"2818:1:2","nodeType":"VariableDeclaration","scope":710,"src":"2813:6:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":689,"name":"uint","nodeType":"ElementaryTypeName","src":"2813:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"id":692,"name":"YetAnotherCustomError","nameLocation":"2830:21:2","nodeType":"ErrorDefinition","parameters":{"id":691,"nodeType":"ParameterList","parameters":[],"src":"2851:2:2"},"src":"2824:30:2"},{"body":{"id":701,"nodeType":"Block","src":"2908:50:2","statements":[{"expression":{"id":696,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":false,"src":"2914:3:2","subExpression":{"id":695,"name":"x","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":690,"src":"2914:1:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":697,"nodeType":"ExpressionStatement","src":"2914:3:2"},{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":698,"name":"YetAnotherCustomError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":692,"src":"2930:21:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":699,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2930:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":700,"nodeType":"RevertStatement","src":"2923:30:2"}]},"functionSelector":"4b2bd7e9","id":702,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithYetAnotherCustomError","nameLocation":"2867:31:2","nodeType":"FunctionDefinition","parameters":{"id":693,"nodeType":"ParameterList","parameters":[],"src":"2898:2:2"},"returnParameters":{"id":694,"nodeType":"ParameterList","parameters":[],"src":"2908:0:2"},"scope":710,"src":"2858:100:2","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":708,"nodeType":"Block","src":"3021:41:2","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":705,"name":"YetAnotherCustomError","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":692,"src":"3034:21:2","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$__$","typeString":"function () pure"}},"id":706,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3034:23:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":707,"nodeType":"RevertStatement","src":"3027:30:2"}]},"functionSelector":"40d83b24","id":709,"implemented":true,"kind":"function","modifiers":[],"name":"revertWithYetAnotherCustomErrorView","nameLocation":"2971:35:2","nodeType":"FunctionDefinition","parameters":{"id":703,"nodeType":"ParameterList","parameters":[],"src":"3006:2:2"},"returnParameters":{"id":704,"nodeType":"ParameterList","parameters":[],"src":"3021:0:2"},"scope":710,"src":"2962:100:2","stateMutability":"pure","virtual":false,"visibility":"public"}],"scope":711,"src":"2776:288:2","usedErrors":[692]}],"src":"40:3025:2"},"id":2},"contracts/Token.sol":{"ast":{"absolutePath":"contracts/Token.sol","exportedSymbols":{"MockToken":[873],"NotAToken":[874],"TokenWithOnlyName":[864],"TokenWithoutNameNorSymbol":[858]},"id":875,"license":"MIT","nodeType":"SourceUnit","nodes":[{"id":712,"literals":["solidity","^","0.8",".0"],"nodeType":"PragmaDirective","src":"32:23:3"},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":858,"linearizedBaseContracts":[858],"name":"TokenWithoutNameNorSymbol","nameLocation":"66:25:3","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"313ce567","id":715,"mutability":"mutable","name":"decimals","nameLocation":"108:8:3","nodeType":"VariableDeclaration","scope":858,"src":"96:24:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":713,"name":"uint","nodeType":"ElementaryTypeName","src":"96:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"hexValue":"31","id":714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"119:1:3","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"visibility":"public"},{"constant":false,"functionSelector":"18160ddd","id":717,"mutability":"mutable","name":"totalSupply","nameLocation":"137:11:3","nodeType":"VariableDeclaration","scope":858,"src":"125:23:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":716,"name":"uint","nodeType":"ElementaryTypeName","src":"125:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"public"},{"constant":false,"functionSelector":"70a08231","id":721,"mutability":"mutable","name":"balanceOf","nameLocation":"184:9:3","nodeType":"VariableDeclaration","scope":858,"src":"152:41:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":720,"keyType":{"id":718,"name":"address","nodeType":"ElementaryTypeName","src":"160:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"152:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":719,"name":"uint","nodeType":"ElementaryTypeName","src":"171:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"visibility":"public"},{"constant":false,"id":727,"mutability":"mutable","name":"allowances","nameLocation":"242:10:3","nodeType":"VariableDeclaration","scope":858,"src":"197:55:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":726,"keyType":{"id":722,"name":"address","nodeType":"ElementaryTypeName","src":"205:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"197:44:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":725,"keyType":{"id":723,"name":"address","nodeType":"ElementaryTypeName","src":"224:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"216:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":724,"name":"uint","nodeType":"ElementaryTypeName","src":"235:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"internal"},{"body":{"id":741,"nodeType":"Block","src":"272:79:3","statements":[{"expression":{"id":732,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":730,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":717,"src":"278:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"hexValue":"315f3030305f3030305f303030","id":731,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"292:13:3","typeDescriptions":{"typeIdentifier":"t_rational_1000000000_by_1","typeString":"int_const 1000000000"},"value":"1_000_000_000"},"src":"278:27:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":733,"nodeType":"ExpressionStatement","src":"278:27:3"},{"expression":{"id":739,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":734,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":721,"src":"311:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":737,"indexExpression":{"expression":{"id":735,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"321:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":736,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"321:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"311:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":738,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":717,"src":"335:11:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"311:35:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":740,"nodeType":"ExpressionStatement","src":"311:35:3"}]},"id":742,"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","nodeType":"FunctionDefinition","parameters":{"id":728,"nodeType":"ParameterList","parameters":[],"src":"269:2:3"},"returnParameters":{"id":729,"nodeType":"ParameterList","parameters":[],"src":"272:0:3"},"scope":858,"src":"257:94:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":773,"nodeType":"Block","src":"419:141:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":754,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":752,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"433:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":753,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"441:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"433:9:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"5472616e736665727265642076616c7565206973207a65726f","id":755,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"444:27:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","typeString":"literal_string \"Transferred value is zero\""},"value":"Transferred value is zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","typeString":"literal_string \"Transferred value is zero\""}],"id":751,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"425:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":756,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"425:47:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":757,"nodeType":"ExpressionStatement","src":"425:47:3"},{"expression":{"id":763,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":758,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":721,"src":"479:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":761,"indexExpression":{"expression":{"id":759,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"489:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":760,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"489:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"479:21:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":762,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"504:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"479:30:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":764,"nodeType":"ExpressionStatement","src":"479:30:3"},{"expression":{"id":769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":765,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":721,"src":"515:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":767,"indexExpression":{"id":766,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":744,"src":"525:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"515:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":768,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"532:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"515:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":770,"nodeType":"ExpressionStatement","src":"515:22:3"},{"expression":{"hexValue":"74727565","id":771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"551:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":750,"id":772,"nodeType":"Return","src":"544:11:3"}]},"functionSelector":"a9059cbb","id":774,"implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"364:8:3","nodeType":"FunctionDefinition","parameters":{"id":747,"nodeType":"ParameterList","parameters":[{"constant":false,"id":744,"mutability":"mutable","name":"to","nameLocation":"381:2:3","nodeType":"VariableDeclaration","scope":774,"src":"373:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":743,"name":"address","nodeType":"ElementaryTypeName","src":"373:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":746,"mutability":"mutable","name":"value","nameLocation":"390:5:3","nodeType":"VariableDeclaration","scope":774,"src":"385:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":745,"name":"uint","nodeType":"ElementaryTypeName","src":"385:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"372:24:3"},"returnParameters":{"id":750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":749,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":774,"src":"413:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":748,"name":"bool","nodeType":"ElementaryTypeName","src":"413:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"412:6:3"},"scope":858,"src":"355:205:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":789,"nodeType":"Block","src":"655:44:3","statements":[{"expression":{"baseExpression":{"baseExpression":{"id":783,"name":"allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":727,"src":"668:10:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":785,"indexExpression":{"id":784,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"679:5:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"668:17:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":787,"indexExpression":{"id":786,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":778,"src":"686:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"668:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":782,"id":788,"nodeType":"Return","src":"661:33:3"}]},"functionSelector":"dd62ed3e","id":790,"implemented":true,"kind":"function","modifiers":[],"name":"allowance","nameLocation":"573:9:3","nodeType":"FunctionDefinition","parameters":{"id":779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":776,"mutability":"mutable","name":"owner","nameLocation":"591:5:3","nodeType":"VariableDeclaration","scope":790,"src":"583:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":775,"name":"address","nodeType":"ElementaryTypeName","src":"583:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":778,"mutability":"mutable","name":"spender","nameLocation":"606:7:3","nodeType":"VariableDeclaration","scope":790,"src":"598:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":777,"name":"address","nodeType":"ElementaryTypeName","src":"598:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"582:32:3"},"returnParameters":{"id":782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":781,"mutability":"mutable","name":"remaining","nameLocation":"644:9:3","nodeType":"VariableDeclaration","scope":790,"src":"636:17:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":780,"name":"uint256","nodeType":"ElementaryTypeName","src":"636:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"635:19:3"},"scope":858,"src":"564:135:3","stateMutability":"view","virtual":false,"visibility":"public"},{"body":{"id":810,"nodeType":"Block","src":"782:67:3","statements":[{"expression":{"id":806,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":799,"name":"allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":727,"src":"788:10:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":803,"indexExpression":{"expression":{"id":800,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"799:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"799:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"788:22:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":804,"indexExpression":{"id":802,"name":"spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":792,"src":"811:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"788:31:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"id":805,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":794,"src":"822:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"788:39:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":807,"nodeType":"ExpressionStatement","src":"788:39:3"},{"expression":{"hexValue":"74727565","id":808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"840:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":798,"id":809,"nodeType":"Return","src":"833:11:3"}]},"functionSelector":"095ea7b3","id":811,"implemented":true,"kind":"function","modifiers":[],"name":"approve","nameLocation":"712:7:3","nodeType":"FunctionDefinition","parameters":{"id":795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":792,"mutability":"mutable","name":"spender","nameLocation":"728:7:3","nodeType":"VariableDeclaration","scope":811,"src":"720:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":791,"name":"address","nodeType":"ElementaryTypeName","src":"720:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":794,"mutability":"mutable","name":"value","nameLocation":"745:5:3","nodeType":"VariableDeclaration","scope":811,"src":"737:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":793,"name":"uint256","nodeType":"ElementaryTypeName","src":"737:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"719:32:3"},"returnParameters":{"id":798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":797,"mutability":"mutable","name":"success","nameLocation":"773:7:3","nodeType":"VariableDeclaration","scope":811,"src":"768:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":796,"name":"bool","nodeType":"ElementaryTypeName","src":"768:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"767:14:3"},"scope":858,"src":"703:146:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"body":{"id":856,"nodeType":"Block","src":"938:202:3","statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":829,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":824,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":813,"src":"962:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":825,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"968:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":826,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"968:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":823,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":790,"src":"952:9:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"952:27:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"id":828,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":817,"src":"983:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"952:36:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"496e73756666696369656e7420616c6c6f77616e6365","id":830,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"990:24:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","typeString":"literal_string \"Insufficient allowance\""},"value":"Insufficient allowance"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","typeString":"literal_string \"Insufficient allowance\""}],"id":822,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18],"referencedDeclaration":-18,"src":"944:7:3","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":831,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"944:71:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":832,"nodeType":"ExpressionStatement","src":"944:71:3"},{"expression":{"id":840,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":833,"name":"allowances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":727,"src":"1022:10:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":837,"indexExpression":{"id":834,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":813,"src":"1033:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1022:16:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":838,"indexExpression":{"expression":{"id":835,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"1039:3:3","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":836,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","src":"1039:10:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1022:28:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":839,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":817,"src":"1054:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1022:37:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":841,"nodeType":"ExpressionStatement","src":"1022:37:3"},{"expression":{"id":846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":842,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":721,"src":"1065:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":844,"indexExpression":{"id":843,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":813,"src":"1075:4:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1065:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":845,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":817,"src":"1084:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1065:24:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":847,"nodeType":"ExpressionStatement","src":"1065:24:3"},{"expression":{"id":852,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":848,"name":"balanceOf","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":721,"src":"1095:9:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":850,"indexExpression":{"id":849,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":815,"src":"1105:2:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1095:13:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":851,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":817,"src":"1112:5:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1095:22:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":853,"nodeType":"ExpressionStatement","src":"1095:22:3"},{"expression":{"hexValue":"74727565","id":854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1131:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":821,"id":855,"nodeType":"Return","src":"1124:11:3"}]},"functionSelector":"23b872dd","id":857,"implemented":true,"kind":"function","modifiers":[],"name":"transferFrom","nameLocation":"862:12:3","nodeType":"FunctionDefinition","parameters":{"id":818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":813,"mutability":"mutable","name":"from","nameLocation":"883:4:3","nodeType":"VariableDeclaration","scope":857,"src":"875:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":812,"name":"address","nodeType":"ElementaryTypeName","src":"875:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":815,"mutability":"mutable","name":"to","nameLocation":"897:2:3","nodeType":"VariableDeclaration","scope":857,"src":"889:10:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":814,"name":"address","nodeType":"ElementaryTypeName","src":"889:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":817,"mutability":"mutable","name":"value","nameLocation":"909:5:3","nodeType":"VariableDeclaration","scope":857,"src":"901:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":816,"name":"uint256","nodeType":"ElementaryTypeName","src":"901:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"874:41:3"},"returnParameters":{"id":821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":820,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":857,"src":"932:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":819,"name":"bool","nodeType":"ElementaryTypeName","src":"932:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"931:6:3"},"scope":858,"src":"853:287:3","stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"scope":875,"src":"57:1085:3","usedErrors":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":859,"name":"TokenWithoutNameNorSymbol","nodeType":"IdentifierPath","referencedDeclaration":858,"src":"1174:25:3"},"id":860,"nodeType":"InheritanceSpecifier","src":"1174:25:3"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":864,"linearizedBaseContracts":[864,858],"name":"TokenWithOnlyName","nameLocation":"1153:17:3","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"06fdde03","id":863,"mutability":"mutable","name":"name","nameLocation":"1218:4:3","nodeType":"VariableDeclaration","scope":864,"src":"1204:32:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":861,"name":"string","nodeType":"ElementaryTypeName","src":"1204:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"4d6f636b546f6b656e","id":862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1225:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_59d91acf1a517d81ad15edcf2fd578e448883bcd506756a542295cb8c1c1be7e","typeString":"literal_string \"MockToken\""},"value":"MockToken"},"visibility":"public"}],"scope":875,"src":"1144:95:3","usedErrors":[]},{"abstract":false,"baseContracts":[{"baseName":{"id":865,"name":"TokenWithoutNameNorSymbol","nodeType":"IdentifierPath","referencedDeclaration":858,"src":"1263:25:3"},"id":866,"nodeType":"InheritanceSpecifier","src":"1263:25:3"}],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":873,"linearizedBaseContracts":[873,858],"name":"MockToken","nameLocation":"1250:9:3","nodeType":"ContractDefinition","nodes":[{"constant":false,"functionSelector":"06fdde03","id":869,"mutability":"mutable","name":"name","nameLocation":"1307:4:3","nodeType":"VariableDeclaration","scope":873,"src":"1293:32:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":867,"name":"string","nodeType":"ElementaryTypeName","src":"1293:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"4d6f636b546f6b656e","id":868,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1314:11:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_59d91acf1a517d81ad15edcf2fd578e448883bcd506756a542295cb8c1c1be7e","typeString":"literal_string \"MockToken\""},"value":"MockToken"},"visibility":"public"},{"constant":false,"functionSelector":"95d89b41","id":872,"mutability":"mutable","name":"symbol","nameLocation":"1343:6:3","nodeType":"VariableDeclaration","scope":873,"src":"1329:28:3","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string"},"typeName":{"id":870,"name":"string","nodeType":"ElementaryTypeName","src":"1329:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"value":{"hexValue":"4d434b","id":871,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1352:5:3","typeDescriptions":{"typeIdentifier":"t_stringliteral_9c3aa7d11ecb9affb5001de98d930d23db7380c6f51732a92986229c98447bc4","typeString":"literal_string \"MCK\""},"value":"MCK"},"visibility":"public"}],"scope":875,"src":"1241:119:3","usedErrors":[]},{"abstract":false,"baseContracts":[],"contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"id":874,"linearizedBaseContracts":[874],"name":"NotAToken","nameLocation":"1371:9:3","nodeType":"ContractDefinition","nodes":[],"scope":875,"src":"1362:21:3","usedErrors":[]}],"src":"32:1352:3"},"id":3}},"contracts":{"contracts/ChangeEtherBalance.sol":{"ChangeEtherBalance":{"abi":[{"inputs":[],"name":"returnHalf","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"transferTo","outputs":[],"stateMutability":"payable","type":"function"},{"stateMutability":"payable","type":"receive"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610225806100206000396000f3fe60806040526004361061002d5760003560e01c8063a03fa7e314610039578063b019946e1461005557610034565b3661003457005b600080fd5b610053600480360381019061004e9190610113565b61005f565b005b61005d6100a9565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156100a5573d6000803e3d6000fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc6002346100d0919061013c565b9081150290604051600060405180830381858888f193505050501580156100fb573d6000803e3d6000fd5b50565b60008135905061010d816101d8565b92915050565b60006020828403121561012557600080fd5b6000610133848285016100fe565b91505092915050565b60006101478261019f565b91506101528361019f565b925082610162576101616101a9565b5b828204905092915050565b60006101788261017f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6101e18161016d565b81146101ec57600080fd5b5056fea26469706673582212208e553461507bae731d37afa0d5a2a7dae74de7a6eab682733425a78884ed60b364736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x225 DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA03FA7E3 EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0xB019946E EQ PUSH2 0x55 JUMPI PUSH2 0x34 JUMP JUMPDEST CALLDATASIZE PUSH2 0x34 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x5F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5D PUSH2 0xA9 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xA5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x2 CALLVALUE PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x13C JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xFB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x10D DUP2 PUSH2 0x1D8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x125 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x133 DUP5 DUP3 DUP6 ADD PUSH2 0xFE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147 DUP3 PUSH2 0x19F JUMP JUMPDEST SWAP2 POP PUSH2 0x152 DUP4 PUSH2 0x19F JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x162 JUMPI PUSH2 0x161 PUSH2 0x1A9 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x178 DUP3 PUSH2 0x17F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1E1 DUP2 PUSH2 0x16D JUMP JUMPDEST DUP2 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP15 SSTORE CALLVALUE PUSH2 0x507B 0xAE PUSH20 0x1D37AFA0D5A2A7DAE74DE7A6EAB682733425A788 DUP5 0xED PUSH1 0xB3 PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ","sourceMap":"57:255:0:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1425:4","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:4","statements":[{"nodeType":"YulAssignment","src":"69:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:4"},"nodeType":"YulFunctionCall","src":"78:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"107:26:4"},"nodeType":"YulFunctionCall","src":"107:33:4"},"nodeType":"YulExpressionStatement","src":"107:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:4","type":""}],"src":"7:139:4"},{"body":{"nodeType":"YulBlock","src":"218:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:4"},"nodeType":"YulFunctionCall","src":"266:12:4"},"nodeType":"YulExpressionStatement","src":"266:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:4"},"nodeType":"YulFunctionCall","src":"235:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:4"},"nodeType":"YulFunctionCall","src":"231:32:4"},"nodeType":"YulIf","src":"228:2:4"},{"nodeType":"YulBlock","src":"290:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"305:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"319:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"309:6:4","type":""}]},{"nodeType":"YulAssignment","src":"334:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"369:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"380:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:4"},"nodeType":"YulFunctionCall","src":"365:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"389:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"344:20:4"},"nodeType":"YulFunctionCall","src":"344:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"334:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"188:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"199:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"211:6:4","type":""}],"src":"152:262:4"},{"body":{"nodeType":"YulBlock","src":"462:143:4","statements":[{"nodeType":"YulAssignment","src":"472:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"495:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"477:17:4"},"nodeType":"YulFunctionCall","src":"477:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"472:1:4"}]},{"nodeType":"YulAssignment","src":"506:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"529:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"511:17:4"},"nodeType":"YulFunctionCall","src":"511:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"506:1:4"}]},{"body":{"nodeType":"YulBlock","src":"553:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x12","nodeType":"YulIdentifier","src":"555:16:4"},"nodeType":"YulFunctionCall","src":"555:18:4"},"nodeType":"YulExpressionStatement","src":"555:18:4"}]},"condition":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"550:1:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"543:6:4"},"nodeType":"YulFunctionCall","src":"543:9:4"},"nodeType":"YulIf","src":"540:2:4"},{"nodeType":"YulAssignment","src":"585:14:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"594:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"597:1:4"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"590:3:4"},"nodeType":"YulFunctionCall","src":"590:9:4"},"variableNames":[{"name":"r","nodeType":"YulIdentifier","src":"585:1:4"}]}]},"name":"checked_div_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"451:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"454:1:4","type":""}],"returnVariables":[{"name":"r","nodeType":"YulTypedName","src":"460:1:4","type":""}],"src":"420:185:4"},{"body":{"nodeType":"YulBlock","src":"656:51:4","statements":[{"nodeType":"YulAssignment","src":"666:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"695:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"677:17:4"},"nodeType":"YulFunctionCall","src":"677:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"666:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"638:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"648:7:4","type":""}],"src":"611:96:4"},{"body":{"nodeType":"YulBlock","src":"758:81:4","statements":[{"nodeType":"YulAssignment","src":"768:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"783:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"790:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"779:3:4"},"nodeType":"YulFunctionCall","src":"779:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"768:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"740:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"750:7:4","type":""}],"src":"713:126:4"},{"body":{"nodeType":"YulBlock","src":"890:32:4","statements":[{"nodeType":"YulAssignment","src":"900:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"911:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"900:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"872:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"882:7:4","type":""}],"src":"845:77:4"},{"body":{"nodeType":"YulBlock","src":"956:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"973:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"976:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"966:6:4"},"nodeType":"YulFunctionCall","src":"966:88:4"},"nodeType":"YulExpressionStatement","src":"966:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1070:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1073:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1063:6:4"},"nodeType":"YulFunctionCall","src":"1063:15:4"},"nodeType":"YulExpressionStatement","src":"1063:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1094:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1097:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1087:6:4"},"nodeType":"YulFunctionCall","src":"1087:15:4"},"nodeType":"YulExpressionStatement","src":"1087:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"928:180:4"},{"body":{"nodeType":"YulBlock","src":"1142:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1159:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1162:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1152:6:4"},"nodeType":"YulFunctionCall","src":"1152:88:4"},"nodeType":"YulExpressionStatement","src":"1152:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1256:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"1259:4:4","type":"","value":"0x12"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"1249:6:4"},"nodeType":"YulFunctionCall","src":"1249:15:4"},"nodeType":"YulExpressionStatement","src":"1249:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1280:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1283:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1273:6:4"},"nodeType":"YulFunctionCall","src":"1273:15:4"},"nodeType":"YulExpressionStatement","src":"1273:15:4"}]},"name":"panic_error_0x12","nodeType":"YulFunctionDefinition","src":"1114:180:4"},{"body":{"nodeType":"YulBlock","src":"1343:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"1400:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1409:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1412:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1402:6:4"},"nodeType":"YulFunctionCall","src":"1402:12:4"},"nodeType":"YulExpressionStatement","src":"1402:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1366:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1391:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"1373:17:4"},"nodeType":"YulFunctionCall","src":"1373:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"1363:2:4"},"nodeType":"YulFunctionCall","src":"1363:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1356:6:4"},"nodeType":"YulFunctionCall","src":"1356:43:4"},"nodeType":"YulIf","src":"1353:2:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1336:5:4","type":""}],"src":"1300:122:4"}]},"contents":"{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function checked_div_t_uint256(x, y) -> r {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n if iszero(y) { panic_error_0x12() }\n\n r := div(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x12() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"60806040526004361061002d5760003560e01c8063a03fa7e314610039578063b019946e1461005557610034565b3661003457005b600080fd5b610053600480360381019061004e9190610113565b61005f565b005b61005d6100a9565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156100a5573d6000803e3d6000fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc6002346100d0919061013c565b9081150290604051600060405180830381858888f193505050501580156100fb573d6000803e3d6000fd5b50565b60008135905061010d816101d8565b92915050565b60006020828403121561012557600080fd5b6000610133848285016100fe565b91505092915050565b60006101478261019f565b91506101528361019f565b925082610162576101616101a9565b5b828204905092915050565b60006101788261017f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6101e18161016d565b81146101ec57600080fd5b5056fea26469706673582212208e553461507bae731d37afa0d5a2a7dae74de7a6eab682733425a78884ed60b364736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x2D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA03FA7E3 EQ PUSH2 0x39 JUMPI DUP1 PUSH4 0xB019946E EQ PUSH2 0x55 JUMPI PUSH2 0x34 JUMP JUMPDEST CALLDATASIZE PUSH2 0x34 JUMPI STOP JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x53 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4E SWAP2 SWAP1 PUSH2 0x113 JUMP JUMPDEST PUSH2 0x5F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5D PUSH2 0xA9 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC CALLVALUE SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xA5 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP JUMP JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x8FC PUSH1 0x2 CALLVALUE PUSH2 0xD0 SWAP2 SWAP1 PUSH2 0x13C JUMP JUMPDEST SWAP1 DUP2 ISZERO MUL SWAP1 PUSH1 0x40 MLOAD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP9 CALL SWAP4 POP POP POP POP ISZERO DUP1 ISZERO PUSH2 0xFB JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x10D DUP2 PUSH2 0x1D8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x125 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x133 DUP5 DUP3 DUP6 ADD PUSH2 0xFE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x147 DUP3 PUSH2 0x19F JUMP JUMPDEST SWAP2 POP PUSH2 0x152 DUP4 PUSH2 0x19F JUMP JUMPDEST SWAP3 POP DUP3 PUSH2 0x162 JUMPI PUSH2 0x161 PUSH2 0x1A9 JUMP JUMPDEST JUMPDEST DUP3 DUP3 DIV SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x178 DUP3 PUSH2 0x17F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0x1E1 DUP2 PUSH2 0x16D JUMP JUMPDEST DUP2 EQ PUSH2 0x1EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP15 SSTORE CALLVALUE PUSH2 0x507B 0xAE PUSH20 0x1D37AFA0D5A2A7DAE74DE7A6EAB682733425A788 DUP5 0xED PUSH1 0xB3 PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ","sourceMap":"57:255:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;184:93;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;89:91;;;:::i;:::-;;184:93;247:4;239:22;;:33;262:9;239:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;184:93;:::o;89:91::-;140:10;132:28;;:43;173:1;161:9;:13;;;;:::i;:::-;132:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;89:91::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:262::-;211:6;260:2;248:9;239:7;235:23;231:32;228:2;;;276:1;273;266:12;228:2;319:1;344:53;389:7;380:6;369:9;365:22;344:53;:::i;:::-;334:63;;290:117;218:196;;;;:::o;420:185::-;460:1;477:20;495:1;477:20;:::i;:::-;472:25;;511:20;529:1;511:20;:::i;:::-;506:25;;550:1;540:2;;555:18;;:::i;:::-;540:2;597:1;594;590:9;585:14;;462:143;;;;:::o;611:96::-;648:7;677:24;695:5;677:24;:::i;:::-;666:35;;656:51;;;:::o;713:126::-;750:7;790:42;783:5;779:54;768:65;;758:81;;;:::o;845:77::-;882:7;911:5;900:16;;890:32;;;:::o;1114:180::-;1162:77;1159:1;1152:88;1259:4;1256:1;1249:15;1283:4;1280:1;1273:15;1300:122;1373:24;1391:5;1373:24;:::i;:::-;1366:5;1363:35;1353:2;;1412:1;1409;1402:12;1353:2;1343:79;:::o"},"methodIdentifiers":{"returnHalf()":"b019946e","transferTo(address)":"a03fa7e3"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"returnHalf\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"}],\"name\":\"transferTo\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ChangeEtherBalance.sol\":\"ChangeEtherBalance\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/ChangeEtherBalance.sol\":{\"keccak256\":\"0x9c266d442b9dd1fdb8311deec6e6dc9b59612eee5279091d54a006779b1db3f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://533b87dc323c18ae4775141b46443e8bce865632e9af58eee3b044cfb37f9ef7\",\"dweb:/ipfs/QmbUkSPQDMQ1jEt6n3wwNK9s7BrQhNuy2iYLM4df36AWma\"]}},\"version\":1}"}},"contracts/Events.sol":{"AnotherContract":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"u","type":"uint256"}],"name":"WithUintArg","type":"event"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"}],"name":"emitUint","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610130806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80639194024414602d575b600080fd5b60436004803603810190603f91906090565b6045565b005b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516072919060c3565b60405180910390a150565b600081359050608a8160e6565b92915050565b60006020828403121560a157600080fd5b600060ad84828501607d565b91505092915050565b60bd8160dc565b82525050565b600060208201905060d6600083018460b6565b92915050565b6000819050919050565b60ed8160dc565b811460f757600080fd5b5056fea264697066735822122083cb9b1ec00d6d1ec78d28771d3bf4778c5ba00b0532a2448d42cbab653355a064736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x130 DUP1 PUSH2 0x20 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 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x91940244 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x43 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x3F SWAP2 SWAP1 PUSH1 0x90 JUMP JUMPDEST PUSH1 0x45 JUMP JUMPDEST STOP JUMPDEST PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP2 PUSH1 0x40 MLOAD PUSH1 0x72 SWAP2 SWAP1 PUSH1 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x8A DUP2 PUSH1 0xE6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0xA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xAD DUP5 DUP3 DUP6 ADD PUSH1 0x7D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBD DUP2 PUSH1 0xDC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD6 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xED DUP2 PUSH1 0xDC JUMP JUMPDEST DUP2 EQ PUSH1 0xF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 0xCB SWAP12 0x1E 0xC0 0xD PUSH14 0x1EC78D28771D3BF4778C5BA00B05 ORIGIN LOG2 DIFFICULTY DUP14 TIMESTAMP 0xCB 0xAB PUSH6 0x3355A064736F PUSH13 0x63430008040033000000000000 ","sourceMap":"2530:124:1:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:980:4","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:4","statements":[{"nodeType":"YulAssignment","src":"69:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:4"},"nodeType":"YulFunctionCall","src":"78:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"107:26:4"},"nodeType":"YulFunctionCall","src":"107:33:4"},"nodeType":"YulExpressionStatement","src":"107:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:4","type":""}],"src":"7:139:4"},{"body":{"nodeType":"YulBlock","src":"218:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:4"},"nodeType":"YulFunctionCall","src":"266:12:4"},"nodeType":"YulExpressionStatement","src":"266:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:4"},"nodeType":"YulFunctionCall","src":"235:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:4"},"nodeType":"YulFunctionCall","src":"231:32:4"},"nodeType":"YulIf","src":"228:2:4"},{"nodeType":"YulBlock","src":"290:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"305:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"319:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"309:6:4","type":""}]},{"nodeType":"YulAssignment","src":"334:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"369:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"380:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:4"},"nodeType":"YulFunctionCall","src":"365:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"389:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"344:20:4"},"nodeType":"YulFunctionCall","src":"344:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"334:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"188:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"199:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"211:6:4","type":""}],"src":"152:262:4"},{"body":{"nodeType":"YulBlock","src":"485:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"502:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"525:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"507:17:4"},"nodeType":"YulFunctionCall","src":"507:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"495:6:4"},"nodeType":"YulFunctionCall","src":"495:37:4"},"nodeType":"YulExpressionStatement","src":"495:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"473:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"480:3:4","type":""}],"src":"420:118:4"},{"body":{"nodeType":"YulBlock","src":"642:124:4","statements":[{"nodeType":"YulAssignment","src":"652:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"664:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"675:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"660:3:4"},"nodeType":"YulFunctionCall","src":"660:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"652:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"732:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"745:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"756:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"741:3:4"},"nodeType":"YulFunctionCall","src":"741:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"688:43:4"},"nodeType":"YulFunctionCall","src":"688:71:4"},"nodeType":"YulExpressionStatement","src":"688:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"614:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"626:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"637:4:4","type":""}],"src":"544:222:4"},{"body":{"nodeType":"YulBlock","src":"817:32:4","statements":[{"nodeType":"YulAssignment","src":"827:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"838:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"827:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"799:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"809:7:4","type":""}],"src":"772:77:4"},{"body":{"nodeType":"YulBlock","src":"898:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"955:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"964:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"967:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"957:6:4"},"nodeType":"YulFunctionCall","src":"957:12:4"},"nodeType":"YulExpressionStatement","src":"957:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"921:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"946:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"928:17:4"},"nodeType":"YulFunctionCall","src":"928:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"918:2:4"},"nodeType":"YulFunctionCall","src":"918:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"911:6:4"},"nodeType":"YulFunctionCall","src":"911:43:4"},"nodeType":"YulIf","src":"908:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"891:5:4","type":""}],"src":"855:122:4"}]},"contents":"{\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"6080604052348015600f57600080fd5b506004361060285760003560e01c80639194024414602d575b600080fd5b60436004803603810190603f91906090565b6045565b005b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516072919060c3565b60405180910390a150565b600081359050608a8160e6565b92915050565b60006020828403121560a157600080fd5b600060ad84828501607d565b91505092915050565b60bd8160dc565b82525050565b600060208201905060d6600083018460b6565b92915050565b6000819050919050565b60ed8160dc565b811460f757600080fd5b5056fea264697066735822122083cb9b1ec00d6d1ec78d28771d3bf4778c5ba00b0532a2448d42cbab653355a064736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH1 0x28 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x91940244 EQ PUSH1 0x2D JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x43 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH1 0x3F SWAP2 SWAP1 PUSH1 0x90 JUMP JUMPDEST PUSH1 0x45 JUMP JUMPDEST STOP JUMPDEST PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP2 PUSH1 0x40 MLOAD PUSH1 0x72 SWAP2 SWAP1 PUSH1 0xC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH1 0x8A DUP2 PUSH1 0xE6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH1 0xA1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0xAD DUP5 DUP3 DUP6 ADD PUSH1 0x7D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xBD DUP2 PUSH1 0xDC JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH1 0xD6 PUSH1 0x0 DUP4 ADD DUP5 PUSH1 0xB6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0xED DUP2 PUSH1 0xDC JUMP JUMPDEST DUP2 EQ PUSH1 0xF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP4 0xCB SWAP12 0x1E 0xC0 0xD PUSH14 0x1EC78D28771D3BF4778C5BA00B05 ORIGIN LOG2 DIFFICULTY DUP14 TIMESTAMP 0xCB 0xAB PUSH6 0x3355A064736F PUSH13 0x63430008040033000000000000 ","sourceMap":"2530:124:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2589:63;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;2633:14;2645:1;2633:14;;;;;;:::i;:::-;;;;;;;;2589:63;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:262::-;211:6;260:2;248:9;239:7;235:23;231:32;228:2;;;276:1;273;266:12;228:2;319:1;344:53;389:7;380:6;369:9;365:22;344:53;:::i;:::-;334:63;;290:117;218:196;;;;:::o;420:118::-;507:24;525:5;507:24;:::i;:::-;502:3;495:37;485:53;;:::o;544:222::-;637:4;675:2;664:9;660:18;652:26;;688:71;756:1;745:9;741:17;732:6;688:71;:::i;:::-;642:124;;;;:::o;772:77::-;809:7;838:5;827:16;;817:32;;;:::o;855:122::-;928:24;946:5;928:24;:::i;:::-;921:5;918:35;908:2;;967:1;964;957:12;908:2;898:79;:::o"},"methodIdentifiers":{"emitUint(uint256)":"91940244"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"WithUintArg\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"emitUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Events.sol\":\"AnotherContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Events.sol\":{\"keccak256\":\"0x1f12bbd1b991a4eb017f864e7ca09d99cee0730630313442e99fc32a29b28b91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ba3dbc99ecfbb05a95a9a89e8ea74e86f7cbd5441a53fca9f3de94651313d5\",\"dweb:/ipfs/QmYr9HUxkuQxuEwxtLn3f9gB7i2epM95Znt6fRj9xL9T6Y\"]}},\"version\":1}"},"Events":{"abi":[{"inputs":[{"internalType":"contract AnotherContract","name":"c","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"a","type":"address"}],"name":"WithAddressArg","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"b","type":"bytes32"}],"name":"WithBytes32Arg","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32[2]","name":"a","type":"bytes32[2]"}],"name":"WithBytes32Array","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes","name":"b","type":"bytes"}],"name":"WithBytesArg","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"b","type":"bytes32"}],"name":"WithIndexedBytes32Arg","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes","name":"b","type":"bytes"}],"name":"WithIndexedBytesArg","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"s","type":"string"}],"name":"WithIndexedStringArg","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"i","type":"int256"}],"name":"WithIntArg","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"s","type":"string"}],"name":"WithStringArg","type":"event"},{"anonymous":false,"inputs":[{"components":[{"internalType":"uint256","name":"u","type":"uint256"},{"internalType":"uint256","name":"v","type":"uint256"}],"indexed":false,"internalType":"struct Events.Struct","name":"s","type":"tuple"}],"name":"WithStructArg","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"string","name":"s","type":"string"},{"indexed":false,"internalType":"string","name":"t","type":"string"}],"name":"WithTwoStringArgs","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"u","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"v","type":"uint256"}],"name":"WithTwoUintArgs","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"u","type":"uint256"}],"name":"WithUintArg","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256[2]","name":"a","type":"uint256[2]"}],"name":"WithUintArray","type":"event"},{"anonymous":false,"inputs":[],"name":"WithoutArgs","type":"event"},{"inputs":[],"name":"doNotEmit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"emitAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"b","type":"bytes"}],"name":"emitBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"b","type":"bytes32"}],"name":"emitBytes32","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"b","type":"bytes32"},{"internalType":"bytes32","name":"c","type":"bytes32"}],"name":"emitBytes32Array","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes","name":"b","type":"bytes"}],"name":"emitIndexedBytes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"b","type":"bytes32"}],"name":"emitIndexedBytes32","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"s","type":"string"}],"name":"emitIndexedString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"i","type":"int256"}],"name":"emitInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"}],"name":"emitNestedUintFromAnotherContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"}],"name":"emitNestedUintFromSameContract","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"s","type":"string"}],"name":"emitString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"},{"internalType":"uint256","name":"v","type":"uint256"}],"name":"emitStruct","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"},{"internalType":"uint256","name":"v","type":"uint256"}],"name":"emitTwoUints","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"},{"internalType":"uint256","name":"v","type":"uint256"},{"internalType":"string","name":"s","type":"string"},{"internalType":"string","name":"t","type":"string"}],"name":"emitTwoUintsAndTwoStrings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"}],"name":"emitUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"},{"internalType":"string","name":"s","type":"string"}],"name":"emitUintAndString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"},{"internalType":"uint256","name":"v","type":"uint256"}],"name":"emitUintArray","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"},{"internalType":"uint256","name":"v","type":"uint256"}],"name":"emitUintTwice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emitWithoutArgs","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:1068:4","statements":[{"body":{"nodeType":"YulBlock","src":"93:103:4","statements":[{"nodeType":"YulAssignment","src":"103:22:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"118:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"112:5:4"},"nodeType":"YulFunctionCall","src":"112:13:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"103:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"184:5:4"}],"functionName":{"name":"validator_revert_t_contract$_AnotherContract_$374","nodeType":"YulIdentifier","src":"134:49:4"},"nodeType":"YulFunctionCall","src":"134:56:4"},"nodeType":"YulExpressionStatement","src":"134:56:4"}]},"name":"abi_decode_t_contract$_AnotherContract_$374_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"71:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"79:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"87:5:4","type":""}],"src":"7:189:4"},{"body":{"nodeType":"YulBlock","src":"302:230:4","statements":[{"body":{"nodeType":"YulBlock","src":"348:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"357:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"360:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"350:6:4"},"nodeType":"YulFunctionCall","src":"350:12:4"},"nodeType":"YulExpressionStatement","src":"350:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"323:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"332:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"319:3:4"},"nodeType":"YulFunctionCall","src":"319:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"344:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"315:3:4"},"nodeType":"YulFunctionCall","src":"315:32:4"},"nodeType":"YulIf","src":"312:2:4"},{"nodeType":"YulBlock","src":"374:151:4","statements":[{"nodeType":"YulVariableDeclaration","src":"389:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"403:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"393:6:4","type":""}]},{"nodeType":"YulAssignment","src":"418:97:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"487:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"498:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"483:3:4"},"nodeType":"YulFunctionCall","src":"483:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"507:7:4"}],"functionName":{"name":"abi_decode_t_contract$_AnotherContract_$374_fromMemory","nodeType":"YulIdentifier","src":"428:54:4"},"nodeType":"YulFunctionCall","src":"428:87:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"418:6:4"}]}]}]},"name":"abi_decode_tuple_t_contract$_AnotherContract_$374_fromMemory","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"272:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"283:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"295:6:4","type":""}],"src":"202:330:4"},{"body":{"nodeType":"YulBlock","src":"583:51:4","statements":[{"nodeType":"YulAssignment","src":"593:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"622:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"604:17:4"},"nodeType":"YulFunctionCall","src":"604:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"593:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"565:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"575:7:4","type":""}],"src":"538:96:4"},{"body":{"nodeType":"YulBlock","src":"708:51:4","statements":[{"nodeType":"YulAssignment","src":"718:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"747:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"729:17:4"},"nodeType":"YulFunctionCall","src":"729:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"718:7:4"}]}]},"name":"cleanup_t_contract$_AnotherContract_$374","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"690:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"700:7:4","type":""}],"src":"640:119:4"},{"body":{"nodeType":"YulBlock","src":"810:81:4","statements":[{"nodeType":"YulAssignment","src":"820:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"835:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"842:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"831:3:4"},"nodeType":"YulFunctionCall","src":"831:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"820:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"792:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"802:7:4","type":""}],"src":"765:126:4"},{"body":{"nodeType":"YulBlock","src":"963:102:4","statements":[{"body":{"nodeType":"YulBlock","src":"1043:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1052:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1055:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1045:6:4"},"nodeType":"YulFunctionCall","src":"1045:12:4"},"nodeType":"YulExpressionStatement","src":"1045:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"986:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1034:5:4"}],"functionName":{"name":"cleanup_t_contract$_AnotherContract_$374","nodeType":"YulIdentifier","src":"993:40:4"},"nodeType":"YulFunctionCall","src":"993:47:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"983:2:4"},"nodeType":"YulFunctionCall","src":"983:58:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"976:6:4"},"nodeType":"YulFunctionCall","src":"976:66:4"},"nodeType":"YulIf","src":"973:2:4"}]},"name":"validator_revert_t_contract$_AnotherContract_$374","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"956:5:4","type":""}],"src":"897:168:4"}]},"contents":"{\n\n function abi_decode_t_contract$_AnotherContract_$374_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_contract$_AnotherContract_$374(value)\n }\n\n function abi_decode_tuple_t_contract$_AnotherContract_$374_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_contract$_AnotherContract_$374_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_contract$_AnotherContract_$374(value) -> cleaned {\n cleaned := cleanup_t_address(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function validator_revert_t_contract$_AnotherContract_$374(value) {\n if iszero(eq(value, cleanup_t_contract$_AnotherContract_$374(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"60806040523480156200001157600080fd5b506040516200140d3803806200140d833981810160405281019062000037919062000095565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000123565b6000815190506200008f8162000109565b92915050565b600060208284031215620000a857600080fd5b6000620000b8848285016200007e565b91505092915050565b6000620000ce82620000e9565b9050919050565b6000620000e282620000c1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6200011481620000d5565b81146200012057600080fd5b50565b6112da80620001336000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638a618191116100ad578063c76f063511610071578063c76f0635146102c3578063cc07e605146102df578063d3931e57146102fb578063db6cdf6814610317578063ec5c3ede146103215761012c565b80638a6181911461024957806390b37ea214610265578063919402441461026f5780639f31a2231461028b578063c0cd80e6146102a75761012c565b806333311ef3116100f457806333311ef3146101bd57806338393646146101d9578063443690a0146101f5578063532b9cce14610211578063813a8cf51461022d5761012c565b8063048858e5146101315780630c0c941a1461014d57806317aba537146101695780632536f127146101855780632785f8d6146101a1575b600080fd5b61014b600480360381019061014691906109f0565b61033d565b005b61016760048036038101906101629190610b7d565b61036d565b005b610183600480360381019061017e9190610b7d565b6103df565b005b61019f600480360381019061019a9190610abf565b61042e565b005b6101bb60048036038101906101b69190610b29565b610468565b005b6101d760048036038101906101d291906109f0565b6104da565b005b6101f360048036038101906101ee9190610b7d565b610514565b005b61020f600480360381019061020a9190610abf565b610551565b005b61022b60048036038101906102269190610bb9565b610596565b005b61024760048036038101906102429190610b00565b61060e565b005b610263600480360381019061025e9190610a96565b61061a565b005b61026d610654565b005b61028960048036038101906102849190610b00565b610682565b005b6102a560048036038101906102a09190610b7d565b6106bc565b005b6102c160048036038101906102bc9190610a19565b61070b565b005b6102dd60048036038101906102d89190610a55565b61075a565b005b6102f960048036038101906102f49190610a55565b610794565b005b61031560048036038101906103109190610b00565b6107d9565b005b61031f610867565b005b61033b600480360381019061033691906109c7565b610869565b005b807fb421ad092cfce88844bfbfaa9654e824ba0ee5b6b0a220f822406b62c05364c060405160405180910390a250565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce8260405161039c9190610fd2565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516103d39190610fd2565b60405180910390a15050565b7f73e687a2685d698f7acf934b4929a29ae783a4bcb640d71c5d6994d74e2380ca6040518060400160405280848152602001838152506040516104229190610eeb565b60405180910390a15050565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a8160405161045d9190610f5e565b60405180910390a150565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a816040516104979190610f5e565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce826040516104ce9190610fd2565b60405180910390a15050565b7f425517d2678bbca3c0d9d8d9fdbec34c81194e7935ed48a6a19f97db93bcef6a816040516105099190610f06565b60405180910390a150565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e8282604051610545929190610fed565b60405180910390a15050565b8060405161055f9190610e9e565b60405180910390207fd9ca28363e2d8739e0e9c4fea1d2df98d1bd7d9d915d00e5fccbf78c0fddcdb060405160405180910390a250565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e84846040516105c7929190610fed565b60405180910390a17f1f1a2c748505fcd8f16a719fa88d517b1b41111c4f5e07bb28311cdc4d1515388282604051610600929190610f80565b60405180910390a150505050565b61061781610682565b50565b7f39feab747bb4f579008aea963d7ebac85ad410bb83ee663a42af01464654e93f816040516106499190610f43565b60405180910390a150565b7f917b7bf7ab24d61500cb699921a3a1cc22b8833da6484fea20f262b2610604af60405160405180910390a1565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516106b19190610fd2565b60405180910390a150565b7fd59ab87bf64b9d737998f3dc70c649d16b135f085029c1666ca0634beb75a7736040518060400160405280848152602001838152506040516106ff9190610fb7565b60405180910390a15050565b7f15100859f3ffe92910dc3f11ed3db4e9cf32ff657c05066e44be4e69b2b488bc60405180604001604052808481526020018381525060405161074e9190610ed0565b60405180910390a15050565b7f433470edcdd53b50238be4d8e048e2baa269af5be2a4e29515c138883c745aa8816040516107899190610f21565b60405180910390a150565b806040516107a29190610e87565b60405180910390207f160e4655df40987951accf7c731d5c504f77d20c139bd73032821b91a426dd9860405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391940244826040518263ffffffff1660e01b81526004016108329190610fd2565b600060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505050565b565b7f336bcd960d2e5a52cef6094ba33727f309dc2c675eebefc6d9b6b6d79abac877816040516108989190610eb5565b60405180910390a150565b60006108b66108b18461103b565b611016565b9050828152602081018484840111156108ce57600080fd5b6108d9848285611195565b509392505050565b60006108f46108ef8461106c565b611016565b90508281526020810184848401111561090c57600080fd5b610917848285611195565b509392505050565b60008135905061092e81611248565b92915050565b6000813590506109438161125f565b92915050565b600082601f83011261095a57600080fd5b813561096a8482602086016108a3565b91505092915050565b60008135905061098281611276565b92915050565b600082601f83011261099957600080fd5b81356109a98482602086016108e1565b91505092915050565b6000813590506109c18161128d565b92915050565b6000602082840312156109d957600080fd5b60006109e78482850161091f565b91505092915050565b600060208284031215610a0257600080fd5b6000610a1084828501610934565b91505092915050565b60008060408385031215610a2c57600080fd5b6000610a3a85828601610934565b9250506020610a4b85828601610934565b9150509250929050565b600060208284031215610a6757600080fd5b600082013567ffffffffffffffff811115610a8157600080fd5b610a8d84828501610949565b91505092915050565b600060208284031215610aa857600080fd5b6000610ab684828501610973565b91505092915050565b600060208284031215610ad157600080fd5b600082013567ffffffffffffffff811115610aeb57600080fd5b610af784828501610988565b91505092915050565b600060208284031215610b1257600080fd5b6000610b20848285016109b2565b91505092915050565b60008060408385031215610b3c57600080fd5b6000610b4a858286016109b2565b925050602083013567ffffffffffffffff811115610b6757600080fd5b610b7385828601610988565b9150509250929050565b60008060408385031215610b9057600080fd5b6000610b9e858286016109b2565b9250506020610baf858286016109b2565b9150509250929050565b60008060008060808587031215610bcf57600080fd5b6000610bdd878288016109b2565b9450506020610bee878288016109b2565b935050604085013567ffffffffffffffff811115610c0b57600080fd5b610c1787828801610988565b925050606085013567ffffffffffffffff811115610c3457600080fd5b610c4087828801610988565b91505092959194509250565b6000610c588383610d39565b60208301905092915050565b6000610c708383610e69565b60208301905092915050565b610c8581611145565b82525050565b610c94816110b1565b610c9e81846110f7565b9250610ca98261109d565b8060005b83811015610cda578151610cc18782610c4c565b9650610ccc836110dd565b925050600181019050610cad565b505050505050565b610ceb816110bc565b610cf58184611102565b9250610d00826110a7565b8060005b83811015610d31578151610d188782610c64565b9650610d23836110ea565b925050600181019050610d04565b505050505050565b610d4281611157565b82525050565b610d5181611157565b82525050565b6000610d62826110c7565b610d6c818561110d565b9350610d7c8185602086016111a4565b610d8581611237565b840191505092915050565b6000610d9b826110c7565b610da5818561111e565b9350610db58185602086016111a4565b80840191505092915050565b610dca81611161565b82525050565b6000610ddb826110d2565b610de58185611129565b9350610df58185602086016111a4565b610dfe81611237565b840191505092915050565b6000610e14826110d2565b610e1e818561113a565b9350610e2e8185602086016111a4565b80840191505092915050565b604082016000820151610e506000850182610e69565b506020820151610e636020850182610e69565b50505050565b610e728161118b565b82525050565b610e818161118b565b82525050565b6000610e938284610d90565b915081905092915050565b6000610eaa8284610e09565b915081905092915050565b6000602082019050610eca6000830184610c7c565b92915050565b6000604082019050610ee56000830184610c8b565b92915050565b6000604082019050610f006000830184610ce2565b92915050565b6000602082019050610f1b6000830184610d48565b92915050565b60006020820190508181036000830152610f3b8184610d57565b905092915050565b6000602082019050610f586000830184610dc1565b92915050565b60006020820190508181036000830152610f788184610dd0565b905092915050565b60006040820190508181036000830152610f9a8185610dd0565b90508181036020830152610fae8184610dd0565b90509392505050565b6000604082019050610fcc6000830184610e3a565b92915050565b6000602082019050610fe76000830184610e78565b92915050565b60006040820190506110026000830185610e78565b61100f6020830184610e78565b9392505050565b6000611020611031565b905061102c82826111d7565b919050565b6000604051905090565b600067ffffffffffffffff82111561105657611055611208565b5b61105f82611237565b9050602081019050919050565b600067ffffffffffffffff82111561108757611086611208565b5b61109082611237565b9050602081019050919050565b6000819050919050565b6000819050919050565b600060029050919050565b600060029050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006111508261116b565b9050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156111c25780820151818401526020810190506111a7565b838111156111d1576000848401525b50505050565b6111e082611237565b810181811067ffffffffffffffff821117156111ff576111fe611208565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61125181611145565b811461125c57600080fd5b50565b61126881611157565b811461127357600080fd5b50565b61127f81611161565b811461128a57600080fd5b50565b6112968161118b565b81146112a157600080fd5b5056fea264697066735822122073a91a740c0de3883c5213c5981d98d2396a8b60b3cf2fb364d7e4cc826a841e64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x140D CODESIZE SUB DUP1 PUSH3 0x140D DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x95 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP PUSH3 0x123 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x8F DUP2 PUSH3 0x109 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0xB8 DUP5 DUP3 DUP6 ADD PUSH3 0x7E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCE DUP3 PUSH3 0xE9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xE2 DUP3 PUSH3 0xC1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x114 DUP2 PUSH3 0xD5 JUMP JUMPDEST DUP2 EQ PUSH3 0x120 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x12DA DUP1 PUSH3 0x133 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 0x12C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8A618191 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xC76F0635 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xC76F0635 EQ PUSH2 0x2C3 JUMPI DUP1 PUSH4 0xCC07E605 EQ PUSH2 0x2DF JUMPI DUP1 PUSH4 0xD3931E57 EQ PUSH2 0x2FB JUMPI DUP1 PUSH4 0xDB6CDF68 EQ PUSH2 0x317 JUMPI DUP1 PUSH4 0xEC5C3EDE EQ PUSH2 0x321 JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x8A618191 EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x90B37EA2 EQ PUSH2 0x265 JUMPI DUP1 PUSH4 0x91940244 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x9F31A223 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0xC0CD80E6 EQ PUSH2 0x2A7 JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x33311EF3 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x33311EF3 EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x38393646 EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x443690A0 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x532B9CCE EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x813A8CF5 EQ PUSH2 0x22D JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x48858E5 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0xC0C941A EQ PUSH2 0x14D JUMPI DUP1 PUSH4 0x17ABA537 EQ PUSH2 0x169 JUMPI DUP1 PUSH4 0x2536F127 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x2785F8D6 EQ PUSH2 0x1A1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x146 SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x167 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x162 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x36D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x183 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xABF JUMP JUMPDEST PUSH2 0x42E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B6 SWAP2 SWAP1 PUSH2 0xB29 JUMP JUMPDEST PUSH2 0x468 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D2 SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH2 0x4DA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x514 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x20F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x20A SWAP2 SWAP1 PUSH2 0xABF JUMP JUMPDEST PUSH2 0x551 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x22B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x226 SWAP2 SWAP1 PUSH2 0xBB9 JUMP JUMPDEST PUSH2 0x596 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x247 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x242 SWAP2 SWAP1 PUSH2 0xB00 JUMP JUMPDEST PUSH2 0x60E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0xA96 JUMP JUMPDEST PUSH2 0x61A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26D PUSH2 0x654 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x284 SWAP2 SWAP1 PUSH2 0xB00 JUMP JUMPDEST PUSH2 0x682 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A0 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x6BC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BC SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST PUSH2 0x70B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2DD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0xA55 JUMP JUMPDEST PUSH2 0x75A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F4 SWAP2 SWAP1 PUSH2 0xA55 JUMP JUMPDEST PUSH2 0x794 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x315 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x310 SWAP2 SWAP1 PUSH2 0xB00 JUMP JUMPDEST PUSH2 0x7D9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x31F PUSH2 0x867 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x33B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x9C7 JUMP JUMPDEST PUSH2 0x869 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH32 0xB421AD092CFCE88844BFBFAA9654E824BA0EE5B6B0A220F822406B62C05364C0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP3 PUSH1 0x40 MLOAD PUSH2 0x39C SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP2 PUSH1 0x40 MLOAD PUSH2 0x3D3 SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x73E687A2685D698F7ACF934B4929A29AE783A4BCB640D71C5D6994D74E2380CA PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x422 SWAP2 SWAP1 PUSH2 0xEEB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x9B7DDCBDE8DAC280E036F87ACAFEC72F9EEE31A640C08087E8439139C7E5B52A DUP2 PUSH1 0x40 MLOAD PUSH2 0x45D SWAP2 SWAP1 PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x9B7DDCBDE8DAC280E036F87ACAFEC72F9EEE31A640C08087E8439139C7E5B52A DUP2 PUSH1 0x40 MLOAD PUSH2 0x497 SWAP2 SWAP1 PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP3 PUSH1 0x40 MLOAD PUSH2 0x4CE SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x425517D2678BBCA3C0D9D8D9FDBEC34C81194E7935ED48A6A19F97DB93BCEF6A DUP2 PUSH1 0x40 MLOAD PUSH2 0x509 SWAP2 SWAP1 PUSH2 0xF06 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x8B268BB46A33A55BECE084A8B6858719C9F2985C860FA06C155A341DF0B73C0E DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x545 SWAP3 SWAP2 SWAP1 PUSH2 0xFED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH2 0x55F SWAP2 SWAP1 PUSH2 0xE9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0xD9CA28363E2D8739E0E9C4FEA1D2DF98D1BD7D9D915D00E5FCCBF78C0FDDCDB0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH32 0x8B268BB46A33A55BECE084A8B6858719C9F2985C860FA06C155A341DF0B73C0E DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x5C7 SWAP3 SWAP2 SWAP1 PUSH2 0xFED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x1F1A2C748505FCD8F16A719FA88D517B1B41111C4F5E07BB28311CDC4D151538 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x600 SWAP3 SWAP2 SWAP1 PUSH2 0xF80 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x617 DUP2 PUSH2 0x682 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x39FEAB747BB4F579008AEA963D7EBAC85AD410BB83EE663A42AF01464654E93F DUP2 PUSH1 0x40 MLOAD PUSH2 0x649 SWAP2 SWAP1 PUSH2 0xF43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x917B7BF7AB24D61500CB699921A3A1CC22B8833DA6484FEA20F262B2610604AF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP2 PUSH1 0x40 MLOAD PUSH2 0x6B1 SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0xD59AB87BF64B9D737998F3DC70C649D16B135F085029C1666CA0634BEB75A773 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x6FF SWAP2 SWAP1 PUSH2 0xFB7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x15100859F3FFE92910DC3F11ED3DB4E9CF32FF657C05066E44BE4E69B2B488BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x74E SWAP2 SWAP1 PUSH2 0xED0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x433470EDCDD53B50238BE4D8E048E2BAA269AF5BE2A4E29515C138883C745AA8 DUP2 PUSH1 0x40 MLOAD PUSH2 0x789 SWAP2 SWAP1 PUSH2 0xF21 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH2 0x7A2 SWAP2 SWAP1 PUSH2 0xE87 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x160E4655DF40987951ACCF7C731D5C504F77D20C139BD73032821B91A426DD98 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x91940244 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x832 SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x84C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x860 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST JUMP JUMPDEST PUSH32 0x336BCD960D2E5A52CEF6094BA33727F309DC2C675EEBEFC6D9B6B6D79ABAC877 DUP2 PUSH1 0x40 MLOAD PUSH2 0x898 SWAP2 SWAP1 PUSH2 0xEB5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B6 PUSH2 0x8B1 DUP5 PUSH2 0x103B JUMP JUMPDEST PUSH2 0x1016 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x8CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8D9 DUP5 DUP3 DUP6 PUSH2 0x1195 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8F4 PUSH2 0x8EF DUP5 PUSH2 0x106C JUMP JUMPDEST PUSH2 0x1016 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x90C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x917 DUP5 DUP3 DUP6 PUSH2 0x1195 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x92E DUP2 PUSH2 0x1248 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x943 DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x95A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x96A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8A3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x982 DUP2 PUSH2 0x1276 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x999 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x9A9 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9C1 DUP2 PUSH2 0x128D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x9E7 DUP5 DUP3 DUP6 ADD PUSH2 0x91F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA02 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA10 DUP5 DUP3 DUP6 ADD PUSH2 0x934 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA2C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA3A DUP6 DUP3 DUP7 ADD PUSH2 0x934 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA4B DUP6 DUP3 DUP7 ADD PUSH2 0x934 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA8D DUP5 DUP3 DUP6 ADD PUSH2 0x949 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAB6 DUP5 DUP3 DUP6 ADD PUSH2 0x973 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAF7 DUP5 DUP3 DUP6 ADD PUSH2 0x988 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB20 DUP5 DUP3 DUP6 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB4A DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB73 DUP6 DUP3 DUP7 ADD PUSH2 0x988 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB9E DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBAF DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xBCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xBDD DUP8 DUP3 DUP9 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xBEE DUP8 DUP3 DUP9 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC17 DUP8 DUP3 DUP9 ADD PUSH2 0x988 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC40 DUP8 DUP3 DUP9 ADD PUSH2 0x988 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC58 DUP4 DUP4 PUSH2 0xD39 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC70 DUP4 DUP4 PUSH2 0xE69 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC85 DUP2 PUSH2 0x1145 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC94 DUP2 PUSH2 0x10B1 JUMP JUMPDEST PUSH2 0xC9E DUP2 DUP5 PUSH2 0x10F7 JUMP JUMPDEST SWAP3 POP PUSH2 0xCA9 DUP3 PUSH2 0x109D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDA JUMPI DUP2 MLOAD PUSH2 0xCC1 DUP8 DUP3 PUSH2 0xC4C JUMP JUMPDEST SWAP7 POP PUSH2 0xCCC DUP4 PUSH2 0x10DD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xCAD JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xCEB DUP2 PUSH2 0x10BC JUMP JUMPDEST PUSH2 0xCF5 DUP2 DUP5 PUSH2 0x1102 JUMP JUMPDEST SWAP3 POP PUSH2 0xD00 DUP3 PUSH2 0x10A7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD31 JUMPI DUP2 MLOAD PUSH2 0xD18 DUP8 DUP3 PUSH2 0xC64 JUMP JUMPDEST SWAP7 POP PUSH2 0xD23 DUP4 PUSH2 0x10EA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xD04 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD42 DUP2 PUSH2 0x1157 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD51 DUP2 PUSH2 0x1157 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD62 DUP3 PUSH2 0x10C7 JUMP JUMPDEST PUSH2 0xD6C DUP2 DUP6 PUSH2 0x110D JUMP JUMPDEST SWAP4 POP PUSH2 0xD7C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST PUSH2 0xD85 DUP2 PUSH2 0x1237 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD9B DUP3 PUSH2 0x10C7 JUMP JUMPDEST PUSH2 0xDA5 DUP2 DUP6 PUSH2 0x111E JUMP JUMPDEST SWAP4 POP PUSH2 0xDB5 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xDCA DUP2 PUSH2 0x1161 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDB DUP3 PUSH2 0x10D2 JUMP JUMPDEST PUSH2 0xDE5 DUP2 DUP6 PUSH2 0x1129 JUMP JUMPDEST SWAP4 POP PUSH2 0xDF5 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST PUSH2 0xDFE DUP2 PUSH2 0x1237 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE14 DUP3 PUSH2 0x10D2 JUMP JUMPDEST PUSH2 0xE1E DUP2 DUP6 PUSH2 0x113A JUMP JUMPDEST SWAP4 POP PUSH2 0xE2E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0xE50 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xE69 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0xE63 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0xE69 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xE72 DUP2 PUSH2 0x118B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xE81 DUP2 PUSH2 0x118B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE93 DUP3 DUP5 PUSH2 0xD90 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEAA DUP3 DUP5 PUSH2 0xE09 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xECA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xEE5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC8B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xF00 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xCE2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF1B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD48 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF3B DUP2 DUP5 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF58 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF78 DUP2 DUP5 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF9A DUP2 DUP6 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xFAE DUP2 DUP5 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xFCC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFE7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xE78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1002 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x100F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xE78 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1020 PUSH2 0x1031 JUMP JUMPDEST SWAP1 POP PUSH2 0x102C DUP3 DUP3 PUSH2 0x11D7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1056 JUMPI PUSH2 0x1055 PUSH2 0x1208 JUMP JUMPDEST JUMPDEST PUSH2 0x105F DUP3 PUSH2 0x1237 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1087 JUMPI PUSH2 0x1086 PUSH2 0x1208 JUMP JUMPDEST JUMPDEST PUSH2 0x1090 DUP3 PUSH2 0x1237 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1150 DUP3 PUSH2 0x116B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x11C2 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x11A7 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x11D1 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x11E0 DUP3 PUSH2 0x1237 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11FF JUMPI PUSH2 0x11FE PUSH2 0x1208 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1251 DUP2 PUSH2 0x1145 JUMP JUMPDEST DUP2 EQ PUSH2 0x125C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1268 DUP2 PUSH2 0x1157 JUMP JUMPDEST DUP2 EQ PUSH2 0x1273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x127F DUP2 PUSH2 0x1161 JUMP JUMPDEST DUP2 EQ PUSH2 0x128A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1296 DUP2 PUSH2 0x118B JUMP JUMPDEST DUP2 EQ PUSH2 0x12A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH20 0xA91A740C0DE3883C5213C5981D98D2396A8B60B3 0xCF 0x2F 0xB3 PUSH5 0xD7E4CC826A DUP5 0x1E PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ","sourceMap":"57:2471:1:-:0;;;713:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;769:1;751:15;;:19;;;;;;;;;;;;;;;;;;713:62;57:2471;;7:189:4;87:5;118:6;112:13;103:22;;134:56;184:5;134:56;:::i;:::-;93:103;;;;:::o;202:330::-;295:6;344:2;332:9;323:7;319:23;315:32;312:2;;;360:1;357;350:12;312:2;403:1;428:87;507:7;498:6;487:9;483:22;428:87;:::i;:::-;418:97;;374:151;302:230;;;;:::o;538:96::-;575:7;604:24;622:5;604:24;:::i;:::-;593:35;;583:51;;;:::o;640:119::-;700:7;729:24;747:5;729:24;:::i;:::-;718:35;;708:51;;;:::o;765:126::-;802:7;842:42;835:5;831:54;820:65;;810:81;;;:::o;897:168::-;993:47;1034:5;993:47;:::i;:::-;986:5;983:58;973:2;;1055:1;1052;1045:12;973:2;963:102;:::o;57:2471:1:-;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:19211:4","statements":[{"body":{"nodeType":"YulBlock","src":"90:260:4","statements":[{"nodeType":"YulAssignment","src":"100:74:4","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"166:6:4"}],"functionName":{"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"125:40:4"},"nodeType":"YulFunctionCall","src":"125:48:4"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"109:15:4"},"nodeType":"YulFunctionCall","src":"109:65:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"100:5:4"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"190:5:4"},{"name":"length","nodeType":"YulIdentifier","src":"197:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"183:6:4"},"nodeType":"YulFunctionCall","src":"183:21:4"},"nodeType":"YulExpressionStatement","src":"183:21:4"},{"nodeType":"YulVariableDeclaration","src":"213:27:4","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"228:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"235:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"224:3:4"},"nodeType":"YulFunctionCall","src":"224:16:4"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"217:3:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"278:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"287:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"290:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"280:6:4"},"nodeType":"YulFunctionCall","src":"280:12:4"},"nodeType":"YulExpressionStatement","src":"280:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"259:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"264:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"255:3:4"},"nodeType":"YulFunctionCall","src":"255:16:4"},{"name":"end","nodeType":"YulIdentifier","src":"273:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"252:2:4"},"nodeType":"YulFunctionCall","src":"252:25:4"},"nodeType":"YulIf","src":"249:2:4"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"327:3:4"},{"name":"dst","nodeType":"YulIdentifier","src":"332:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"337:6:4"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"303:23:4"},"nodeType":"YulFunctionCall","src":"303:41:4"},"nodeType":"YulExpressionStatement","src":"303:41:4"}]},"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"63:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"68:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"76:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"84:5:4","type":""}],"src":"7:343:4"},{"body":{"nodeType":"YulBlock","src":"440:261:4","statements":[{"nodeType":"YulAssignment","src":"450:75:4","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"517:6:4"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulIdentifier","src":"475:41:4"},"nodeType":"YulFunctionCall","src":"475:49:4"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"459:15:4"},"nodeType":"YulFunctionCall","src":"459:66:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"450:5:4"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"541:5:4"},{"name":"length","nodeType":"YulIdentifier","src":"548:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"534:6:4"},"nodeType":"YulFunctionCall","src":"534:21:4"},"nodeType":"YulExpressionStatement","src":"534:21:4"},{"nodeType":"YulVariableDeclaration","src":"564:27:4","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"579:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"586:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"575:3:4"},"nodeType":"YulFunctionCall","src":"575:16:4"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"568:3:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"629:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"638:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"641:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"631:6:4"},"nodeType":"YulFunctionCall","src":"631:12:4"},"nodeType":"YulExpressionStatement","src":"631:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"610:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"615:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"606:3:4"},"nodeType":"YulFunctionCall","src":"606:16:4"},{"name":"end","nodeType":"YulIdentifier","src":"624:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"603:2:4"},"nodeType":"YulFunctionCall","src":"603:25:4"},"nodeType":"YulIf","src":"600:2:4"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"678:3:4"},{"name":"dst","nodeType":"YulIdentifier","src":"683:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"688:6:4"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"654:23:4"},"nodeType":"YulFunctionCall","src":"654:41:4"},"nodeType":"YulExpressionStatement","src":"654:41:4"}]},"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"413:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"418:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"426:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"434:5:4","type":""}],"src":"356:345:4"},{"body":{"nodeType":"YulBlock","src":"759:87:4","statements":[{"nodeType":"YulAssignment","src":"769:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"791:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"778:12:4"},"nodeType":"YulFunctionCall","src":"778:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"769:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"834:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"807:26:4"},"nodeType":"YulFunctionCall","src":"807:33:4"},"nodeType":"YulExpressionStatement","src":"807:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"737:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"745:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"753:5:4","type":""}],"src":"707:139:4"},{"body":{"nodeType":"YulBlock","src":"904:87:4","statements":[{"nodeType":"YulAssignment","src":"914:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"936:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"923:12:4"},"nodeType":"YulFunctionCall","src":"923:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"914:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"979:5:4"}],"functionName":{"name":"validator_revert_t_bytes32","nodeType":"YulIdentifier","src":"952:26:4"},"nodeType":"YulFunctionCall","src":"952:33:4"},"nodeType":"YulExpressionStatement","src":"952:33:4"}]},"name":"abi_decode_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"882:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"890:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"898:5:4","type":""}],"src":"852:139:4"},{"body":{"nodeType":"YulBlock","src":"1071:210:4","statements":[{"body":{"nodeType":"YulBlock","src":"1120:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1129:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1132:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1122:6:4"},"nodeType":"YulFunctionCall","src":"1122:12:4"},"nodeType":"YulExpressionStatement","src":"1122:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1099:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"1107:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1095:3:4"},"nodeType":"YulFunctionCall","src":"1095:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"1114:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1091:3:4"},"nodeType":"YulFunctionCall","src":"1091:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1084:6:4"},"nodeType":"YulFunctionCall","src":"1084:35:4"},"nodeType":"YulIf","src":"1081:2:4"},{"nodeType":"YulVariableDeclaration","src":"1145:34:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1172:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1159:12:4"},"nodeType":"YulFunctionCall","src":"1159:20:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1149:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1188:87:4","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1248:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"1256:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1244:3:4"},"nodeType":"YulFunctionCall","src":"1244:17:4"},{"name":"length","nodeType":"YulIdentifier","src":"1263:6:4"},{"name":"end","nodeType":"YulIdentifier","src":"1271:3:4"}],"functionName":{"name":"abi_decode_available_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"1197:46:4"},"nodeType":"YulFunctionCall","src":"1197:78:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1188:5:4"}]}]},"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1049:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1057:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1065:5:4","type":""}],"src":"1010:271:4"},{"body":{"nodeType":"YulBlock","src":"1338:86:4","statements":[{"nodeType":"YulAssignment","src":"1348:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1370:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1357:12:4"},"nodeType":"YulFunctionCall","src":"1357:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1348:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1412:5:4"}],"functionName":{"name":"validator_revert_t_int256","nodeType":"YulIdentifier","src":"1386:25:4"},"nodeType":"YulFunctionCall","src":"1386:32:4"},"nodeType":"YulExpressionStatement","src":"1386:32:4"}]},"name":"abi_decode_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1316:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1324:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1332:5:4","type":""}],"src":"1287:137:4"},{"body":{"nodeType":"YulBlock","src":"1506:211:4","statements":[{"body":{"nodeType":"YulBlock","src":"1555:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1564:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1567:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1557:6:4"},"nodeType":"YulFunctionCall","src":"1557:12:4"},"nodeType":"YulExpressionStatement","src":"1557:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1534:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"1542:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1530:3:4"},"nodeType":"YulFunctionCall","src":"1530:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"1549:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1526:3:4"},"nodeType":"YulFunctionCall","src":"1526:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"1519:6:4"},"nodeType":"YulFunctionCall","src":"1519:35:4"},"nodeType":"YulIf","src":"1516:2:4"},{"nodeType":"YulVariableDeclaration","src":"1580:34:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1607:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1594:12:4"},"nodeType":"YulFunctionCall","src":"1594:20:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"1584:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1623:88:4","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1684:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"1692:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1680:3:4"},"nodeType":"YulFunctionCall","src":"1680:17:4"},{"name":"length","nodeType":"YulIdentifier","src":"1699:6:4"},{"name":"end","nodeType":"YulIdentifier","src":"1707:3:4"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"1632:47:4"},"nodeType":"YulFunctionCall","src":"1632:79:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"1623:5:4"}]}]},"name":"abi_decode_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1484:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1492:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"1500:5:4","type":""}],"src":"1444:273:4"},{"body":{"nodeType":"YulBlock","src":"1775:87:4","statements":[{"nodeType":"YulAssignment","src":"1785:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1807:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1794:12:4"},"nodeType":"YulFunctionCall","src":"1794:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"1785:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"1850:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"1823:26:4"},"nodeType":"YulFunctionCall","src":"1823:33:4"},"nodeType":"YulExpressionStatement","src":"1823:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"1753:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"1761:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"1769:5:4","type":""}],"src":"1723:139:4"},{"body":{"nodeType":"YulBlock","src":"1934:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"1980:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1989:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1992:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1982:6:4"},"nodeType":"YulFunctionCall","src":"1982:12:4"},"nodeType":"YulExpressionStatement","src":"1982:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1955:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1964:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1951:3:4"},"nodeType":"YulFunctionCall","src":"1951:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1976:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1947:3:4"},"nodeType":"YulFunctionCall","src":"1947:32:4"},"nodeType":"YulIf","src":"1944:2:4"},{"nodeType":"YulBlock","src":"2006:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2021:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2035:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2025:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2050:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2085:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2096:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2081:3:4"},"nodeType":"YulFunctionCall","src":"2081:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2105:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"2060:20:4"},"nodeType":"YulFunctionCall","src":"2060:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2050:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1904:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1915:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1927:6:4","type":""}],"src":"1868:262:4"},{"body":{"nodeType":"YulBlock","src":"2202:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"2248:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2257:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2260:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2250:6:4"},"nodeType":"YulFunctionCall","src":"2250:12:4"},"nodeType":"YulExpressionStatement","src":"2250:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2223:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2232:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2219:3:4"},"nodeType":"YulFunctionCall","src":"2219:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2244:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2215:3:4"},"nodeType":"YulFunctionCall","src":"2215:32:4"},"nodeType":"YulIf","src":"2212:2:4"},{"nodeType":"YulBlock","src":"2274:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2289:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2303:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2293:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2318:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2353:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2364:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2349:3:4"},"nodeType":"YulFunctionCall","src":"2349:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2373:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2328:20:4"},"nodeType":"YulFunctionCall","src":"2328:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2318:6:4"}]}]}]},"name":"abi_decode_tuple_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2172:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2183:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2195:6:4","type":""}],"src":"2136:262:4"},{"body":{"nodeType":"YulBlock","src":"2487:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"2533:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2542:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2545:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2535:6:4"},"nodeType":"YulFunctionCall","src":"2535:12:4"},"nodeType":"YulExpressionStatement","src":"2535:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2508:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2517:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2504:3:4"},"nodeType":"YulFunctionCall","src":"2504:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2529:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2500:3:4"},"nodeType":"YulFunctionCall","src":"2500:32:4"},"nodeType":"YulIf","src":"2497:2:4"},{"nodeType":"YulBlock","src":"2559:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2574:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2588:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2578:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2603:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2638:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2649:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2634:3:4"},"nodeType":"YulFunctionCall","src":"2634:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2658:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2613:20:4"},"nodeType":"YulFunctionCall","src":"2613:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2603:6:4"}]}]},{"nodeType":"YulBlock","src":"2686:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2701:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2715:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2705:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2731:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2766:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2777:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2762:3:4"},"nodeType":"YulFunctionCall","src":"2762:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2786:7:4"}],"functionName":{"name":"abi_decode_t_bytes32","nodeType":"YulIdentifier","src":"2741:20:4"},"nodeType":"YulFunctionCall","src":"2741:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2731:6:4"}]}]}]},"name":"abi_decode_tuple_t_bytes32t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2449:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2460:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2472:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2480:6:4","type":""}],"src":"2404:407:4"},{"body":{"nodeType":"YulBlock","src":"2892:298:4","statements":[{"body":{"nodeType":"YulBlock","src":"2938:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2947:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2950:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2940:6:4"},"nodeType":"YulFunctionCall","src":"2940:12:4"},"nodeType":"YulExpressionStatement","src":"2940:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2913:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2922:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2909:3:4"},"nodeType":"YulFunctionCall","src":"2909:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2934:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2905:3:4"},"nodeType":"YulFunctionCall","src":"2905:32:4"},"nodeType":"YulIf","src":"2902:2:4"},{"nodeType":"YulBlock","src":"2964:219:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2979:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3010:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3021:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3006:3:4"},"nodeType":"YulFunctionCall","src":"3006:17:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2993:12:4"},"nodeType":"YulFunctionCall","src":"2993:31:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2983:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"3071:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3080:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3083:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3073:6:4"},"nodeType":"YulFunctionCall","src":"3073:12:4"},"nodeType":"YulExpressionStatement","src":"3073:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3043:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3051:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3040:2:4"},"nodeType":"YulFunctionCall","src":"3040:30:4"},"nodeType":"YulIf","src":"3037:2:4"},{"nodeType":"YulAssignment","src":"3101:72:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3145:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3156:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3141:3:4"},"nodeType":"YulFunctionCall","src":"3141:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3165:7:4"}],"functionName":{"name":"abi_decode_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"3111:29:4"},"nodeType":"YulFunctionCall","src":"3111:62:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3101:6:4"}]}]}]},"name":"abi_decode_tuple_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2862:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2873:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2885:6:4","type":""}],"src":"2817:373:4"},{"body":{"nodeType":"YulBlock","src":"3261:195:4","statements":[{"body":{"nodeType":"YulBlock","src":"3307:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3316:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3319:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3309:6:4"},"nodeType":"YulFunctionCall","src":"3309:12:4"},"nodeType":"YulExpressionStatement","src":"3309:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3282:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3291:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3278:3:4"},"nodeType":"YulFunctionCall","src":"3278:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"3303:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3274:3:4"},"nodeType":"YulFunctionCall","src":"3274:32:4"},"nodeType":"YulIf","src":"3271:2:4"},{"nodeType":"YulBlock","src":"3333:116:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3348:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"3362:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3352:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3377:62:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3411:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3422:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3407:3:4"},"nodeType":"YulFunctionCall","src":"3407:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3431:7:4"}],"functionName":{"name":"abi_decode_t_int256","nodeType":"YulIdentifier","src":"3387:19:4"},"nodeType":"YulFunctionCall","src":"3387:52:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3377:6:4"}]}]}]},"name":"abi_decode_tuple_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3231:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3242:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3254:6:4","type":""}],"src":"3196:260:4"},{"body":{"nodeType":"YulBlock","src":"3538:299:4","statements":[{"body":{"nodeType":"YulBlock","src":"3584:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3593:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3596:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3586:6:4"},"nodeType":"YulFunctionCall","src":"3586:12:4"},"nodeType":"YulExpressionStatement","src":"3586:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3559:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3568:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3555:3:4"},"nodeType":"YulFunctionCall","src":"3555:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"3580:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3551:3:4"},"nodeType":"YulFunctionCall","src":"3551:32:4"},"nodeType":"YulIf","src":"3548:2:4"},{"nodeType":"YulBlock","src":"3610:220:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3625:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3656:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3667:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3652:3:4"},"nodeType":"YulFunctionCall","src":"3652:17:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"3639:12:4"},"nodeType":"YulFunctionCall","src":"3639:31:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"3629:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"3717:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3726:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3729:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3719:6:4"},"nodeType":"YulFunctionCall","src":"3719:12:4"},"nodeType":"YulExpressionStatement","src":"3719:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"3689:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"3697:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"3686:2:4"},"nodeType":"YulFunctionCall","src":"3686:30:4"},"nodeType":"YulIf","src":"3683:2:4"},{"nodeType":"YulAssignment","src":"3747:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3792:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"3803:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3788:3:4"},"nodeType":"YulFunctionCall","src":"3788:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"3812:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"3757:30:4"},"nodeType":"YulFunctionCall","src":"3757:63:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"3747:6:4"}]}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3508:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3519:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3531:6:4","type":""}],"src":"3462:375:4"},{"body":{"nodeType":"YulBlock","src":"3909:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"3955:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"3964:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"3967:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"3957:6:4"},"nodeType":"YulFunctionCall","src":"3957:12:4"},"nodeType":"YulExpressionStatement","src":"3957:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"3930:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3939:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3926:3:4"},"nodeType":"YulFunctionCall","src":"3926:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"3951:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"3922:3:4"},"nodeType":"YulFunctionCall","src":"3922:32:4"},"nodeType":"YulIf","src":"3919:2:4"},{"nodeType":"YulBlock","src":"3981:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3996:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4010:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4000:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4025:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4060:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4071:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4056:3:4"},"nodeType":"YulFunctionCall","src":"4056:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4080:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"4035:20:4"},"nodeType":"YulFunctionCall","src":"4035:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4025:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3879:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"3890:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"3902:6:4","type":""}],"src":"3843:262:4"},{"body":{"nodeType":"YulBlock","src":"4204:427:4","statements":[{"body":{"nodeType":"YulBlock","src":"4250:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4259:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4262:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4252:6:4"},"nodeType":"YulFunctionCall","src":"4252:12:4"},"nodeType":"YulExpressionStatement","src":"4252:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4225:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4234:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4221:3:4"},"nodeType":"YulFunctionCall","src":"4221:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"4246:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4217:3:4"},"nodeType":"YulFunctionCall","src":"4217:32:4"},"nodeType":"YulIf","src":"4214:2:4"},{"nodeType":"YulBlock","src":"4276:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4291:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4305:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4295:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4320:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4355:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4366:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4351:3:4"},"nodeType":"YulFunctionCall","src":"4351:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4375:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"4330:20:4"},"nodeType":"YulFunctionCall","src":"4330:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4320:6:4"}]}]},{"nodeType":"YulBlock","src":"4403:221:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4418:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4449:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4460:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4445:3:4"},"nodeType":"YulFunctionCall","src":"4445:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"4432:12:4"},"nodeType":"YulFunctionCall","src":"4432:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4422:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"4511:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4520:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4523:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4513:6:4"},"nodeType":"YulFunctionCall","src":"4513:12:4"},"nodeType":"YulExpressionStatement","src":"4513:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"4483:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"4491:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4480:2:4"},"nodeType":"YulFunctionCall","src":"4480:30:4"},"nodeType":"YulIf","src":"4477:2:4"},{"nodeType":"YulAssignment","src":"4541:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4586:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4597:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4582:3:4"},"nodeType":"YulFunctionCall","src":"4582:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4606:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"4551:30:4"},"nodeType":"YulFunctionCall","src":"4551:63:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4541:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4166:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4177:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4189:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4197:6:4","type":""}],"src":"4111:520:4"},{"body":{"nodeType":"YulBlock","src":"4720:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"4766:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4775:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"4778:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"4768:6:4"},"nodeType":"YulFunctionCall","src":"4768:12:4"},"nodeType":"YulExpressionStatement","src":"4768:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"4741:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4750:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4737:3:4"},"nodeType":"YulFunctionCall","src":"4737:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"4762:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"4733:3:4"},"nodeType":"YulFunctionCall","src":"4733:32:4"},"nodeType":"YulIf","src":"4730:2:4"},{"nodeType":"YulBlock","src":"4792:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4807:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4821:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4811:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4836:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4871:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"4882:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4867:3:4"},"nodeType":"YulFunctionCall","src":"4867:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"4891:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"4846:20:4"},"nodeType":"YulFunctionCall","src":"4846:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"4836:6:4"}]}]},{"nodeType":"YulBlock","src":"4919:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"4934:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"4948:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"4938:6:4","type":""}]},{"nodeType":"YulAssignment","src":"4964:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4999:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5010:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4995:3:4"},"nodeType":"YulFunctionCall","src":"4995:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5019:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"4974:20:4"},"nodeType":"YulFunctionCall","src":"4974:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"4964:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4682:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"4693:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"4705:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"4713:6:4","type":""}],"src":"4637:407:4"},{"body":{"nodeType":"YulBlock","src":"5187:787:4","statements":[{"body":{"nodeType":"YulBlock","src":"5234:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5243:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5246:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5236:6:4"},"nodeType":"YulFunctionCall","src":"5236:12:4"},"nodeType":"YulExpressionStatement","src":"5236:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"5208:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"5217:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5204:3:4"},"nodeType":"YulFunctionCall","src":"5204:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"5229:3:4","type":"","value":"128"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"5200:3:4"},"nodeType":"YulFunctionCall","src":"5200:33:4"},"nodeType":"YulIf","src":"5197:2:4"},{"nodeType":"YulBlock","src":"5260:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5275:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"5289:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5279:6:4","type":""}]},{"nodeType":"YulAssignment","src":"5304:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5339:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5350:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5335:3:4"},"nodeType":"YulFunctionCall","src":"5335:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5359:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"5314:20:4"},"nodeType":"YulFunctionCall","src":"5314:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"5304:6:4"}]}]},{"nodeType":"YulBlock","src":"5387:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5402:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"5416:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5406:6:4","type":""}]},{"nodeType":"YulAssignment","src":"5432:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5467:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5478:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5463:3:4"},"nodeType":"YulFunctionCall","src":"5463:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5487:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"5442:20:4"},"nodeType":"YulFunctionCall","src":"5442:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"5432:6:4"}]}]},{"nodeType":"YulBlock","src":"5515:221:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5530:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5561:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5572:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5557:3:4"},"nodeType":"YulFunctionCall","src":"5557:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5544:12:4"},"nodeType":"YulFunctionCall","src":"5544:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5534:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5623:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5632:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5635:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5625:6:4"},"nodeType":"YulFunctionCall","src":"5625:12:4"},"nodeType":"YulExpressionStatement","src":"5625:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5595:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5603:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5592:2:4"},"nodeType":"YulFunctionCall","src":"5592:30:4"},"nodeType":"YulIf","src":"5589:2:4"},{"nodeType":"YulAssignment","src":"5653:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5698:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5709:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5694:3:4"},"nodeType":"YulFunctionCall","src":"5694:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5718:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"5663:30:4"},"nodeType":"YulFunctionCall","src":"5663:63:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"5653:6:4"}]}]},{"nodeType":"YulBlock","src":"5746:221:4","statements":[{"nodeType":"YulVariableDeclaration","src":"5761:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5792:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5803:2:4","type":"","value":"96"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5788:3:4"},"nodeType":"YulFunctionCall","src":"5788:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"5775:12:4"},"nodeType":"YulFunctionCall","src":"5775:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"5765:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"5854:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5863:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5866:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5856:6:4"},"nodeType":"YulFunctionCall","src":"5856:12:4"},"nodeType":"YulExpressionStatement","src":"5856:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"5826:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5834:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5823:2:4"},"nodeType":"YulFunctionCall","src":"5823:30:4"},"nodeType":"YulIf","src":"5820:2:4"},{"nodeType":"YulAssignment","src":"5884:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5929:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"5940:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5925:3:4"},"nodeType":"YulFunctionCall","src":"5925:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"5949:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"5894:30:4"},"nodeType":"YulFunctionCall","src":"5894:63:4"},"variableNames":[{"name":"value3","nodeType":"YulIdentifier","src":"5884:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256t_string_memory_ptrt_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"5133:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"5144:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"5156:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5164:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"5172:6:4","type":""},{"name":"value3","nodeType":"YulTypedName","src":"5180:6:4","type":""}],"src":"5050:924:4"},{"body":{"nodeType":"YulBlock","src":"6060:99:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6104:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"6112:3:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"6070:33:4"},"nodeType":"YulFunctionCall","src":"6070:46:4"},"nodeType":"YulExpressionStatement","src":"6070:46:4"},{"nodeType":"YulAssignment","src":"6125:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6143:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6148:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6139:3:4"},"nodeType":"YulFunctionCall","src":"6139:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"6125:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"6033:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6041:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"6049:10:4","type":""}],"src":"5980:179:4"},{"body":{"nodeType":"YulBlock","src":"6245:99:4","statements":[{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"6289:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"6297:3:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"6255:33:4"},"nodeType":"YulFunctionCall","src":"6255:46:4"},"nodeType":"YulExpressionStatement","src":"6255:46:4"},{"nodeType":"YulAssignment","src":"6310:28:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6328:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6333:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6324:3:4"},"nodeType":"YulFunctionCall","src":"6324:14:4"},"variableNames":[{"name":"updatedPos","nodeType":"YulIdentifier","src":"6310:10:4"}]}]},"name":"abi_encodeUpdatedPos_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value0","nodeType":"YulTypedName","src":"6218:6:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6226:3:4","type":""}],"returnVariables":[{"name":"updatedPos","nodeType":"YulTypedName","src":"6234:10:4","type":""}],"src":"6165:179:4"},{"body":{"nodeType":"YulBlock","src":"6415:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6432:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6455:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"6437:17:4"},"nodeType":"YulFunctionCall","src":"6437:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6425:6:4"},"nodeType":"YulFunctionCall","src":"6425:37:4"},"nodeType":"YulExpressionStatement","src":"6425:37:4"}]},"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6403:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6410:3:4","type":""}],"src":"6350:118:4"},{"body":{"nodeType":"YulBlock","src":"6618:582:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6628:66:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6688:5:4"}],"functionName":{"name":"array_length_t_array$_t_bytes32_$2_memory_ptr","nodeType":"YulIdentifier","src":"6642:45:4"},"nodeType":"YulFunctionCall","src":"6642:52:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"6632:6:4","type":""}]},{"nodeType":"YulAssignment","src":"6703:91:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6782:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"6787:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_bytes32_$2_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"6710:71:4"},"nodeType":"YulFunctionCall","src":"6710:84:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"6703:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"6803:69:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6866:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_bytes32_$2_memory_ptr","nodeType":"YulIdentifier","src":"6818:47:4"},"nodeType":"YulFunctionCall","src":"6818:54:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"6807:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"6881:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"6895:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"6885:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6971:222:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6985:34:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7012:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7006:5:4"},"nodeType":"YulFunctionCall","src":"7006:13:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"6989:13:4","type":""}]},{"nodeType":"YulAssignment","src":"7032:70:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"7083:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"7098:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_bytes32_to_t_bytes32","nodeType":"YulIdentifier","src":"7039:43:4"},"nodeType":"YulFunctionCall","src":"7039:63:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7032:3:4"}]},{"nodeType":"YulAssignment","src":"7115:68:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7176:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_bytes32_$2_memory_ptr","nodeType":"YulIdentifier","src":"7125:50:4"},"nodeType":"YulFunctionCall","src":"7125:58:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7115:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6933:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6936:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6930:2:4"},"nodeType":"YulFunctionCall","src":"6930:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6944:18:4","statements":[{"nodeType":"YulAssignment","src":"6946:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6955:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"6958:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6951:3:4"},"nodeType":"YulFunctionCall","src":"6951:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6946:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"6915:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6917:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6926:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6921:1:4","type":""}]}]},"src":"6911:282:4"}]},"name":"abi_encode_t_array$_t_bytes32_$2_memory_ptr_to_t_array$_t_bytes32_$2_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6605:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"6612:3:4","type":""}],"src":"6506:694:4"},{"body":{"nodeType":"YulBlock","src":"7350:582:4","statements":[{"nodeType":"YulVariableDeclaration","src":"7360:66:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7420:5:4"}],"functionName":{"name":"array_length_t_array$_t_uint256_$2_memory_ptr","nodeType":"YulIdentifier","src":"7374:45:4"},"nodeType":"YulFunctionCall","src":"7374:52:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"7364:6:4","type":""}]},{"nodeType":"YulAssignment","src":"7435:91:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"7514:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"7519:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_array$_t_uint256_$2_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"7442:71:4"},"nodeType":"YulFunctionCall","src":"7442:84:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7435:3:4"}]},{"nodeType":"YulVariableDeclaration","src":"7535:69:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7598:5:4"}],"functionName":{"name":"array_dataslot_t_array$_t_uint256_$2_memory_ptr","nodeType":"YulIdentifier","src":"7550:47:4"},"nodeType":"YulFunctionCall","src":"7550:54:4"},"variables":[{"name":"baseRef","nodeType":"YulTypedName","src":"7539:7:4","type":""}]},{"nodeType":"YulVariableDeclaration","src":"7613:21:4","value":{"name":"baseRef","nodeType":"YulIdentifier","src":"7627:7:4"},"variables":[{"name":"srcPtr","nodeType":"YulTypedName","src":"7617:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"7703:222:4","statements":[{"nodeType":"YulVariableDeclaration","src":"7717:34:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7744:6:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"7738:5:4"},"nodeType":"YulFunctionCall","src":"7738:13:4"},"variables":[{"name":"elementValue0","nodeType":"YulTypedName","src":"7721:13:4","type":""}]},{"nodeType":"YulAssignment","src":"7764:70:4","value":{"arguments":[{"name":"elementValue0","nodeType":"YulIdentifier","src":"7815:13:4"},{"name":"pos","nodeType":"YulIdentifier","src":"7830:3:4"}],"functionName":{"name":"abi_encodeUpdatedPos_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"7771:43:4"},"nodeType":"YulFunctionCall","src":"7771:63:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"7764:3:4"}]},{"nodeType":"YulAssignment","src":"7847:68:4","value":{"arguments":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7908:6:4"}],"functionName":{"name":"array_nextElement_t_array$_t_uint256_$2_memory_ptr","nodeType":"YulIdentifier","src":"7857:50:4"},"nodeType":"YulFunctionCall","src":"7857:58:4"},"variableNames":[{"name":"srcPtr","nodeType":"YulIdentifier","src":"7847:6:4"}]}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7665:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"7668:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7662:2:4"},"nodeType":"YulFunctionCall","src":"7662:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"7676:18:4","statements":[{"nodeType":"YulAssignment","src":"7678:14:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"7687:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"7690:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7683:3:4"},"nodeType":"YulFunctionCall","src":"7683:9:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"7678:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"7647:14:4","statements":[{"nodeType":"YulVariableDeclaration","src":"7649:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"7658:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"7653:1:4","type":""}]}]},"src":"7643:282:4"}]},"name":"abi_encode_t_array$_t_uint256_$2_memory_ptr_to_t_array$_t_uint256_$2_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7337:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7344:3:4","type":""}],"src":"7238:694:4"},{"body":{"nodeType":"YulBlock","src":"7993:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8010:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8033:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"8015:17:4"},"nodeType":"YulFunctionCall","src":"8015:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8003:6:4"},"nodeType":"YulFunctionCall","src":"8003:37:4"},"nodeType":"YulExpressionStatement","src":"8003:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7981:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"7988:3:4","type":""}],"src":"7938:108:4"},{"body":{"nodeType":"YulBlock","src":"8117:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8134:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8157:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"8139:17:4"},"nodeType":"YulFunctionCall","src":"8139:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8127:6:4"},"nodeType":"YulFunctionCall","src":"8127:37:4"},"nodeType":"YulExpressionStatement","src":"8127:37:4"}]},"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8105:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8112:3:4","type":""}],"src":"8052:118:4"},{"body":{"nodeType":"YulBlock","src":"8266:270:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8276:52:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8322:5:4"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"8290:31:4"},"nodeType":"YulFunctionCall","src":"8290:38:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8280:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8337:77:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8402:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"8407:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"8344:57:4"},"nodeType":"YulFunctionCall","src":"8344:70:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8337:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8449:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"8456:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8445:3:4"},"nodeType":"YulFunctionCall","src":"8445:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"8463:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"8468:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"8423:21:4"},"nodeType":"YulFunctionCall","src":"8423:52:4"},"nodeType":"YulExpressionStatement","src":"8423:52:4"},{"nodeType":"YulAssignment","src":"8484:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8495:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"8522:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"8500:21:4"},"nodeType":"YulFunctionCall","src":"8500:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8491:3:4"},"nodeType":"YulFunctionCall","src":"8491:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8484:3:4"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8247:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8254:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8262:3:4","type":""}],"src":"8176:360:4"},{"body":{"nodeType":"YulBlock","src":"8650:265:4","statements":[{"nodeType":"YulVariableDeclaration","src":"8660:52:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8706:5:4"}],"functionName":{"name":"array_length_t_bytes_memory_ptr","nodeType":"YulIdentifier","src":"8674:31:4"},"nodeType":"YulFunctionCall","src":"8674:38:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"8664:6:4","type":""}]},{"nodeType":"YulAssignment","src":"8721:95:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8804:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"8809:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"8728:75:4"},"nodeType":"YulFunctionCall","src":"8728:88:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"8721:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8851:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"8858:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8847:3:4"},"nodeType":"YulFunctionCall","src":"8847:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"8865:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"8870:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"8825:21:4"},"nodeType":"YulFunctionCall","src":"8825:52:4"},"nodeType":"YulExpressionStatement","src":"8825:52:4"},{"nodeType":"YulAssignment","src":"8886:23:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"8897:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"8902:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8893:3:4"},"nodeType":"YulFunctionCall","src":"8893:16:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"8886:3:4"}]}]},"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8631:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8638:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"8646:3:4","type":""}],"src":"8542:373:4"},{"body":{"nodeType":"YulBlock","src":"8984:52:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9001:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9023:5:4"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"9006:16:4"},"nodeType":"YulFunctionCall","src":"9006:23:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"8994:6:4"},"nodeType":"YulFunctionCall","src":"8994:36:4"},"nodeType":"YulExpressionStatement","src":"8994:36:4"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8972:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"8979:3:4","type":""}],"src":"8921:115:4"},{"body":{"nodeType":"YulBlock","src":"9134:272:4","statements":[{"nodeType":"YulVariableDeclaration","src":"9144:53:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9191:5:4"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"9158:32:4"},"nodeType":"YulFunctionCall","src":"9158:39:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9148:6:4","type":""}]},{"nodeType":"YulAssignment","src":"9206:78:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9272:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9277:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"9213:58:4"},"nodeType":"YulFunctionCall","src":"9213:71:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9206:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9319:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"9326:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9315:3:4"},"nodeType":"YulFunctionCall","src":"9315:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"9333:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9338:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"9293:21:4"},"nodeType":"YulFunctionCall","src":"9293:52:4"},"nodeType":"YulExpressionStatement","src":"9293:52:4"},{"nodeType":"YulAssignment","src":"9354:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9365:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"9392:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"9370:21:4"},"nodeType":"YulFunctionCall","src":"9370:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9361:3:4"},"nodeType":"YulFunctionCall","src":"9361:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9354:3:4"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9115:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9122:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9130:3:4","type":""}],"src":"9042:364:4"},{"body":{"nodeType":"YulBlock","src":"9522:267:4","statements":[{"nodeType":"YulVariableDeclaration","src":"9532:53:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9579:5:4"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"9546:32:4"},"nodeType":"YulFunctionCall","src":"9546:39:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"9536:6:4","type":""}]},{"nodeType":"YulAssignment","src":"9594:96:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9678:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9683:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"9601:76:4"},"nodeType":"YulFunctionCall","src":"9601:89:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"9594:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"9725:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"9732:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9721:3:4"},"nodeType":"YulFunctionCall","src":"9721:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"9739:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9744:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"9699:21:4"},"nodeType":"YulFunctionCall","src":"9699:52:4"},"nodeType":"YulExpressionStatement","src":"9699:52:4"},{"nodeType":"YulAssignment","src":"9760:23:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9771:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"9776:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9767:3:4"},"nodeType":"YulFunctionCall","src":"9767:16:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"9760:3:4"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9503:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9510:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"9518:3:4","type":""}],"src":"9412:377:4"},{"body":{"nodeType":"YulBlock","src":"9957:385:4","statements":[{"nodeType":"YulVariableDeclaration","src":"9967:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"9983:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"9988:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"9979:3:4"},"nodeType":"YulFunctionCall","src":"9979:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"9971:4:4","type":""}]},{"nodeType":"YulBlock","src":"10003:161:4","statements":[{"nodeType":"YulVariableDeclaration","src":"10035:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10065:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"10072:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10061:3:4"},"nodeType":"YulFunctionCall","src":"10061:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10055:5:4"},"nodeType":"YulFunctionCall","src":"10055:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10039:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10125:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10143:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10148:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10139:3:4"},"nodeType":"YulFunctionCall","src":"10139:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"10091:33:4"},"nodeType":"YulFunctionCall","src":"10091:63:4"},"nodeType":"YulExpressionStatement","src":"10091:63:4"}]},{"nodeType":"YulBlock","src":"10174:161:4","statements":[{"nodeType":"YulVariableDeclaration","src":"10206:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10236:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"10243:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10232:3:4"},"nodeType":"YulFunctionCall","src":"10232:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"10226:5:4"},"nodeType":"YulFunctionCall","src":"10226:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"10210:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"10296:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10314:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"10319:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"10310:3:4"},"nodeType":"YulFunctionCall","src":"10310:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"10262:33:4"},"nodeType":"YulFunctionCall","src":"10262:63:4"},"nodeType":"YulExpressionStatement","src":"10262:63:4"}]}]},"name":"abi_encode_t_struct$_Struct_$47_memory_ptr_to_t_struct$_Struct_$47_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"9944:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"9951:3:4","type":""}],"src":"9847:495:4"},{"body":{"nodeType":"YulBlock","src":"10403:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10420:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10443:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10425:17:4"},"nodeType":"YulFunctionCall","src":"10425:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10413:6:4"},"nodeType":"YulFunctionCall","src":"10413:37:4"},"nodeType":"YulExpressionStatement","src":"10413:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10391:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10398:3:4","type":""}],"src":"10348:108:4"},{"body":{"nodeType":"YulBlock","src":"10527:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"10544:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"10567:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"10549:17:4"},"nodeType":"YulFunctionCall","src":"10549:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"10537:6:4"},"nodeType":"YulFunctionCall","src":"10537:37:4"},"nodeType":"YulExpressionStatement","src":"10537:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"10515:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"10522:3:4","type":""}],"src":"10462:118:4"},{"body":{"nodeType":"YulBlock","src":"10720:137:4","statements":[{"nodeType":"YulAssignment","src":"10731:100:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"10818:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"10827:3:4"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"10738:79:4"},"nodeType":"YulFunctionCall","src":"10738:93:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"10731:3:4"}]},{"nodeType":"YulAssignment","src":"10841:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"10848:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"10841:3:4"}]}]},"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":"10699:3:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10705:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10716:3:4","type":""}],"src":"10586:271:4"},{"body":{"nodeType":"YulBlock","src":"10999:139:4","statements":[{"nodeType":"YulAssignment","src":"11010:102:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11099:6:4"},{"name":"pos","nodeType":"YulIdentifier","src":"11108:3:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulIdentifier","src":"11017:81:4"},"nodeType":"YulFunctionCall","src":"11017:95:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"11010:3:4"}]},{"nodeType":"YulAssignment","src":"11122:10:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"11129:3:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"11122:3:4"}]}]},"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":"10978:3:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"10984:6:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"10995:3:4","type":""}],"src":"10863:275:4"},{"body":{"nodeType":"YulBlock","src":"11242:124:4","statements":[{"nodeType":"YulAssignment","src":"11252:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11264:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"11275:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11260:3:4"},"nodeType":"YulFunctionCall","src":"11260:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11252:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11332:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11345:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"11356:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11341:3:4"},"nodeType":"YulFunctionCall","src":"11341:17:4"}],"functionName":{"name":"abi_encode_t_address_to_t_address_fromStack","nodeType":"YulIdentifier","src":"11288:43:4"},"nodeType":"YulFunctionCall","src":"11288:71:4"},"nodeType":"YulExpressionStatement","src":"11288:71:4"}]},"name":"abi_encode_tuple_t_address__to_t_address__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11214:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11226:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11237:4:4","type":""}],"src":"11144:222:4"},{"body":{"nodeType":"YulBlock","src":"11516:170:4","statements":[{"nodeType":"YulAssignment","src":"11526:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11538:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"11549:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11534:3:4"},"nodeType":"YulFunctionCall","src":"11534:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11526:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11652:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11665:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"11676:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11661:3:4"},"nodeType":"YulFunctionCall","src":"11661:17:4"}],"functionName":{"name":"abi_encode_t_array$_t_bytes32_$2_memory_ptr_to_t_array$_t_bytes32_$2_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11562:89:4"},"nodeType":"YulFunctionCall","src":"11562:117:4"},"nodeType":"YulExpressionStatement","src":"11562:117:4"}]},"name":"abi_encode_tuple_t_array$_t_bytes32_$2_memory_ptr__to_t_array$_t_bytes32_$2_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11488:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11500:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11511:4:4","type":""}],"src":"11372:314:4"},{"body":{"nodeType":"YulBlock","src":"11836:170:4","statements":[{"nodeType":"YulAssignment","src":"11846:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11858:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"11869:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11854:3:4"},"nodeType":"YulFunctionCall","src":"11854:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"11846:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"11972:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"11985:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"11996:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"11981:3:4"},"nodeType":"YulFunctionCall","src":"11981:17:4"}],"functionName":{"name":"abi_encode_t_array$_t_uint256_$2_memory_ptr_to_t_array$_t_uint256_$2_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"11882:89:4"},"nodeType":"YulFunctionCall","src":"11882:117:4"},"nodeType":"YulExpressionStatement","src":"11882:117:4"}]},"name":"abi_encode_tuple_t_array$_t_uint256_$2_memory_ptr__to_t_array$_t_uint256_$2_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"11808:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"11820:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"11831:4:4","type":""}],"src":"11692:314:4"},{"body":{"nodeType":"YulBlock","src":"12110:124:4","statements":[{"nodeType":"YulAssignment","src":"12120:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12132:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12143:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12128:3:4"},"nodeType":"YulFunctionCall","src":"12128:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12120:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12200:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12213:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12224:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12209:3:4"},"nodeType":"YulFunctionCall","src":"12209:17:4"}],"functionName":{"name":"abi_encode_t_bytes32_to_t_bytes32_fromStack","nodeType":"YulIdentifier","src":"12156:43:4"},"nodeType":"YulFunctionCall","src":"12156:71:4"},"nodeType":"YulExpressionStatement","src":"12156:71:4"}]},"name":"abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12082:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12094:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12105:4:4","type":""}],"src":"12012:222:4"},{"body":{"nodeType":"YulBlock","src":"12356:193:4","statements":[{"nodeType":"YulAssignment","src":"12366:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12378:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12389:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12374:3:4"},"nodeType":"YulFunctionCall","src":"12374:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12366:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12413:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12424:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12409:3:4"},"nodeType":"YulFunctionCall","src":"12409:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12432:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"12438:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12428:3:4"},"nodeType":"YulFunctionCall","src":"12428:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12402:6:4"},"nodeType":"YulFunctionCall","src":"12402:47:4"},"nodeType":"YulExpressionStatement","src":"12402:47:4"},{"nodeType":"YulAssignment","src":"12458:84:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12528:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"12537:4:4"}],"functionName":{"name":"abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"12466:61:4"},"nodeType":"YulFunctionCall","src":"12466:76:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12458:4:4"}]}]},"name":"abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12328:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12340:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12351:4:4","type":""}],"src":"12240:309:4"},{"body":{"nodeType":"YulBlock","src":"12651:122:4","statements":[{"nodeType":"YulAssignment","src":"12661:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12673:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12684:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12669:3:4"},"nodeType":"YulFunctionCall","src":"12669:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12661:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"12739:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12752:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12763:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12748:3:4"},"nodeType":"YulFunctionCall","src":"12748:17:4"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"12697:41:4"},"nodeType":"YulFunctionCall","src":"12697:69:4"},"nodeType":"YulExpressionStatement","src":"12697:69:4"}]},"name":"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12623:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12635:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12646:4:4","type":""}],"src":"12555:218:4"},{"body":{"nodeType":"YulBlock","src":"12897:195:4","statements":[{"nodeType":"YulAssignment","src":"12907:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12919:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12930:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12915:3:4"},"nodeType":"YulFunctionCall","src":"12915:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12907:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"12954:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"12965:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"12950:3:4"},"nodeType":"YulFunctionCall","src":"12950:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"12973:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"12979:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"12969:3:4"},"nodeType":"YulFunctionCall","src":"12969:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"12943:6:4"},"nodeType":"YulFunctionCall","src":"12943:47:4"},"nodeType":"YulExpressionStatement","src":"12943:47:4"},{"nodeType":"YulAssignment","src":"12999:86:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13071:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"13080:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13007:63:4"},"nodeType":"YulFunctionCall","src":"13007:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"12999:4:4"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"12869:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"12881:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"12892:4:4","type":""}],"src":"12779:313:4"},{"body":{"nodeType":"YulBlock","src":"13264:348:4","statements":[{"nodeType":"YulAssignment","src":"13274:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13286:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"13297:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13282:3:4"},"nodeType":"YulFunctionCall","src":"13282:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13274:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13321:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"13332:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13317:3:4"},"nodeType":"YulFunctionCall","src":"13317:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13340:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"13346:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13336:3:4"},"nodeType":"YulFunctionCall","src":"13336:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13310:6:4"},"nodeType":"YulFunctionCall","src":"13310:47:4"},"nodeType":"YulExpressionStatement","src":"13310:47:4"},{"nodeType":"YulAssignment","src":"13366:86:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13438:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"13447:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13374:63:4"},"nodeType":"YulFunctionCall","src":"13374:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13366:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13473:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"13484:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13469:3:4"},"nodeType":"YulFunctionCall","src":"13469:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"13493:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"13499:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"13489:3:4"},"nodeType":"YulFunctionCall","src":"13489:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"13462:6:4"},"nodeType":"YulFunctionCall","src":"13462:48:4"},"nodeType":"YulExpressionStatement","src":"13462:48:4"},{"nodeType":"YulAssignment","src":"13519:86:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"13591:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"13600:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13527:63:4"},"nodeType":"YulFunctionCall","src":"13527:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13519:4:4"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13228:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"13240:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13248:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13259:4:4","type":""}],"src":"13098:514:4"},{"body":{"nodeType":"YulBlock","src":"13760:168:4","statements":[{"nodeType":"YulAssignment","src":"13770:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13782:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"13793:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13778:3:4"},"nodeType":"YulFunctionCall","src":"13778:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"13770:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"13894:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"13907:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"13918:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"13903:3:4"},"nodeType":"YulFunctionCall","src":"13903:17:4"}],"functionName":{"name":"abi_encode_t_struct$_Struct_$47_memory_ptr_to_t_struct$_Struct_$47_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"13806:87:4"},"nodeType":"YulFunctionCall","src":"13806:115:4"},"nodeType":"YulExpressionStatement","src":"13806:115:4"}]},"name":"abi_encode_tuple_t_struct$_Struct_$47_memory_ptr__to_t_struct$_Struct_$47_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"13732:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"13744:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"13755:4:4","type":""}],"src":"13618:310:4"},{"body":{"nodeType":"YulBlock","src":"14032:124:4","statements":[{"nodeType":"YulAssignment","src":"14042:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14054:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14065:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14050:3:4"},"nodeType":"YulFunctionCall","src":"14050:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14042:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14122:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14135:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14146:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14131:3:4"},"nodeType":"YulFunctionCall","src":"14131:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"14078:43:4"},"nodeType":"YulFunctionCall","src":"14078:71:4"},"nodeType":"YulExpressionStatement","src":"14078:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14004:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14016:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14027:4:4","type":""}],"src":"13934:222:4"},{"body":{"nodeType":"YulBlock","src":"14288:206:4","statements":[{"nodeType":"YulAssignment","src":"14298:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14310:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14321:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14306:3:4"},"nodeType":"YulFunctionCall","src":"14306:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"14298:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"14378:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14391:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14402:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14387:3:4"},"nodeType":"YulFunctionCall","src":"14387:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"14334:43:4"},"nodeType":"YulFunctionCall","src":"14334:71:4"},"nodeType":"YulExpressionStatement","src":"14334:71:4"},{"expression":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"14459:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"14472:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"14483:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"14468:3:4"},"nodeType":"YulFunctionCall","src":"14468:18:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"14415:43:4"},"nodeType":"YulFunctionCall","src":"14415:72:4"},"nodeType":"YulExpressionStatement","src":"14415:72:4"}]},"name":"abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"14252:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"14264:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"14272:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"14283:4:4","type":""}],"src":"14162:332:4"},{"body":{"nodeType":"YulBlock","src":"14541:88:4","statements":[{"nodeType":"YulAssignment","src":"14551:30:4","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"14561:18:4"},"nodeType":"YulFunctionCall","src":"14561:20:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"14551:6:4"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"14610:6:4"},{"name":"size","nodeType":"YulIdentifier","src":"14618:4:4"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"14590:19:4"},"nodeType":"YulFunctionCall","src":"14590:33:4"},"nodeType":"YulExpressionStatement","src":"14590:33:4"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"14525:4:4","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"14534:6:4","type":""}],"src":"14500:129:4"},{"body":{"nodeType":"YulBlock","src":"14675:35:4","statements":[{"nodeType":"YulAssignment","src":"14685:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"14701:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"14695:5:4"},"nodeType":"YulFunctionCall","src":"14695:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"14685:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"14668:6:4","type":""}],"src":"14635:75:4"},{"body":{"nodeType":"YulBlock","src":"14782:241:4","statements":[{"body":{"nodeType":"YulBlock","src":"14887:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"14889:16:4"},"nodeType":"YulFunctionCall","src":"14889:18:4"},"nodeType":"YulExpressionStatement","src":"14889:18:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14859:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"14867:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"14856:2:4"},"nodeType":"YulFunctionCall","src":"14856:30:4"},"nodeType":"YulIf","src":"14853:2:4"},{"nodeType":"YulAssignment","src":"14919:37:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"14949:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"14927:21:4"},"nodeType":"YulFunctionCall","src":"14927:29:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"14919:4:4"}]},{"nodeType":"YulAssignment","src":"14993:23:4","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"15005:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"15011:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15001:3:4"},"nodeType":"YulFunctionCall","src":"15001:15:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"14993:4:4"}]}]},"name":"array_allocation_size_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"14766:6:4","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"14777:4:4","type":""}],"src":"14716:307:4"},{"body":{"nodeType":"YulBlock","src":"15096:241:4","statements":[{"body":{"nodeType":"YulBlock","src":"15201:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"15203:16:4"},"nodeType":"YulFunctionCall","src":"15203:18:4"},"nodeType":"YulExpressionStatement","src":"15203:18:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15173:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"15181:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"15170:2:4"},"nodeType":"YulFunctionCall","src":"15170:30:4"},"nodeType":"YulIf","src":"15167:2:4"},{"nodeType":"YulAssignment","src":"15233:37:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"15263:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"15241:21:4"},"nodeType":"YulFunctionCall","src":"15241:29:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"15233:4:4"}]},{"nodeType":"YulAssignment","src":"15307:23:4","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"15319:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"15325:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"15315:3:4"},"nodeType":"YulFunctionCall","src":"15315:15:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"15307:4:4"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"15080:6:4","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"15091:4:4","type":""}],"src":"15029:308:4"},{"body":{"nodeType":"YulBlock","src":"15413:28:4","statements":[{"nodeType":"YulAssignment","src":"15423:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"15431:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"15423:4:4"}]}]},"name":"array_dataslot_t_array$_t_bytes32_$2_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"15400:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"15408:4:4","type":""}],"src":"15343:98:4"},{"body":{"nodeType":"YulBlock","src":"15517:28:4","statements":[{"nodeType":"YulAssignment","src":"15527:11:4","value":{"name":"ptr","nodeType":"YulIdentifier","src":"15535:3:4"},"variableNames":[{"name":"data","nodeType":"YulIdentifier","src":"15527:4:4"}]}]},"name":"array_dataslot_t_array$_t_uint256_$2_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"15504:3:4","type":""}],"returnVariables":[{"name":"data","nodeType":"YulTypedName","src":"15512:4:4","type":""}],"src":"15447:98:4"},{"body":{"nodeType":"YulBlock","src":"15623:32:4","statements":[{"nodeType":"YulAssignment","src":"15634:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"15644:4:4","type":"","value":"0x02"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15634:6:4"}]}]},"name":"array_length_t_array$_t_bytes32_$2_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15606:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"15616:6:4","type":""}],"src":"15551:104:4"},{"body":{"nodeType":"YulBlock","src":"15733:32:4","statements":[{"nodeType":"YulAssignment","src":"15744:14:4","value":{"kind":"number","nodeType":"YulLiteral","src":"15754:4:4","type":"","value":"0x02"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15744:6:4"}]}]},"name":"array_length_t_array$_t_uint256_$2_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15716:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"15726:6:4","type":""}],"src":"15661:104:4"},{"body":{"nodeType":"YulBlock","src":"15829:40:4","statements":[{"nodeType":"YulAssignment","src":"15840:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15856:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15850:5:4"},"nodeType":"YulFunctionCall","src":"15850:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15840:6:4"}]}]},"name":"array_length_t_bytes_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15812:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"15822:6:4","type":""}],"src":"15771:98:4"},{"body":{"nodeType":"YulBlock","src":"15934:40:4","statements":[{"nodeType":"YulAssignment","src":"15945:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"15961:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"15955:5:4"},"nodeType":"YulFunctionCall","src":"15955:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"15945:6:4"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"15917:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"15927:6:4","type":""}],"src":"15875:99:4"},{"body":{"nodeType":"YulBlock","src":"16053:38:4","statements":[{"nodeType":"YulAssignment","src":"16063:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"16075:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16080:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16071:3:4"},"nodeType":"YulFunctionCall","src":"16071:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"16063:4:4"}]}]},"name":"array_nextElement_t_array$_t_bytes32_$2_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"16040:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"16048:4:4","type":""}],"src":"15980:111:4"},{"body":{"nodeType":"YulBlock","src":"16170:38:4","statements":[{"nodeType":"YulAssignment","src":"16180:22:4","value":{"arguments":[{"name":"ptr","nodeType":"YulIdentifier","src":"16192:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16197:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16188:3:4"},"nodeType":"YulFunctionCall","src":"16188:14:4"},"variableNames":[{"name":"next","nodeType":"YulIdentifier","src":"16180:4:4"}]}]},"name":"array_nextElement_t_array$_t_uint256_$2_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"ptr","nodeType":"YulTypedName","src":"16157:3:4","type":""}],"returnVariables":[{"name":"next","nodeType":"YulTypedName","src":"16165:4:4","type":""}],"src":"16097:111:4"},{"body":{"nodeType":"YulBlock","src":"16323:34:4","statements":[{"nodeType":"YulAssignment","src":"16333:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"16348:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16333:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_bytes32_$2_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16295:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16300:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16311:11:4","type":""}],"src":"16214:143:4"},{"body":{"nodeType":"YulBlock","src":"16472:34:4","statements":[{"nodeType":"YulAssignment","src":"16482:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"16497:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16482:11:4"}]}]},"name":"array_storeLengthForEncoding_t_array$_t_uint256_$2_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16444:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16449:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16460:11:4","type":""}],"src":"16363:143:4"},{"body":{"nodeType":"YulBlock","src":"16607:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16624:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16629:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16617:6:4"},"nodeType":"YulFunctionCall","src":"16617:19:4"},"nodeType":"YulExpressionStatement","src":"16617:19:4"},{"nodeType":"YulAssignment","src":"16645:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16664:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16669:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16660:3:4"},"nodeType":"YulFunctionCall","src":"16660:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16645:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16579:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16584:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16595:11:4","type":""}],"src":"16512:168:4"},{"body":{"nodeType":"YulBlock","src":"16799:34:4","statements":[{"nodeType":"YulAssignment","src":"16809:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"16824:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16809:11:4"}]}]},"name":"array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16771:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16776:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16787:11:4","type":""}],"src":"16686:147:4"},{"body":{"nodeType":"YulBlock","src":"16935:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16952:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"16957:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"16945:6:4"},"nodeType":"YulFunctionCall","src":"16945:19:4"},"nodeType":"YulExpressionStatement","src":"16945:19:4"},{"nodeType":"YulAssignment","src":"16973:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"16992:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"16997:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"16988:3:4"},"nodeType":"YulFunctionCall","src":"16988:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"16973:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"16907:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"16912:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"16923:11:4","type":""}],"src":"16839:169:4"},{"body":{"nodeType":"YulBlock","src":"17128:34:4","statements":[{"nodeType":"YulAssignment","src":"17138:18:4","value":{"name":"pos","nodeType":"YulIdentifier","src":"17153:3:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"17138:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"17100:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"17105:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"17116:11:4","type":""}],"src":"17014:148:4"},{"body":{"nodeType":"YulBlock","src":"17213:51:4","statements":[{"nodeType":"YulAssignment","src":"17223:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17252:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"17234:17:4"},"nodeType":"YulFunctionCall","src":"17234:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"17223:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17195:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"17205:7:4","type":""}],"src":"17168:96:4"},{"body":{"nodeType":"YulBlock","src":"17315:32:4","statements":[{"nodeType":"YulAssignment","src":"17325:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"17336:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"17325:7:4"}]}]},"name":"cleanup_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17297:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"17307:7:4","type":""}],"src":"17270:77:4"},{"body":{"nodeType":"YulBlock","src":"17397:32:4","statements":[{"nodeType":"YulAssignment","src":"17407:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"17418:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"17407:7:4"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17379:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"17389:7:4","type":""}],"src":"17353:76:4"},{"body":{"nodeType":"YulBlock","src":"17480:81:4","statements":[{"nodeType":"YulAssignment","src":"17490:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"17505:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"17512:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"17501:3:4"},"nodeType":"YulFunctionCall","src":"17501:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"17490:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17462:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"17472:7:4","type":""}],"src":"17435:126:4"},{"body":{"nodeType":"YulBlock","src":"17612:32:4","statements":[{"nodeType":"YulAssignment","src":"17622:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"17633:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"17622:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"17594:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"17604:7:4","type":""}],"src":"17567:77:4"},{"body":{"nodeType":"YulBlock","src":"17701:103:4","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"17724:3:4"},{"name":"src","nodeType":"YulIdentifier","src":"17729:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"17734:6:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"17711:12:4"},"nodeType":"YulFunctionCall","src":"17711:30:4"},"nodeType":"YulExpressionStatement","src":"17711:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"17782:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"17787:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17778:3:4"},"nodeType":"YulFunctionCall","src":"17778:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"17796:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17771:6:4"},"nodeType":"YulFunctionCall","src":"17771:27:4"},"nodeType":"YulExpressionStatement","src":"17771:27:4"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"17683:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"17688:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"17693:6:4","type":""}],"src":"17650:154:4"},{"body":{"nodeType":"YulBlock","src":"17859:258:4","statements":[{"nodeType":"YulVariableDeclaration","src":"17869:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"17878:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"17873:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"17938:63:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"17963:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"17968:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17959:3:4"},"nodeType":"YulFunctionCall","src":"17959:11:4"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"17982:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"17987:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17978:3:4"},"nodeType":"YulFunctionCall","src":"17978:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"17972:5:4"},"nodeType":"YulFunctionCall","src":"17972:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"17952:6:4"},"nodeType":"YulFunctionCall","src":"17952:39:4"},"nodeType":"YulExpressionStatement","src":"17952:39:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"17899:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"17902:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"17896:2:4"},"nodeType":"YulFunctionCall","src":"17896:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"17910:19:4","statements":[{"nodeType":"YulAssignment","src":"17912:15:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"17921:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"17924:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"17917:3:4"},"nodeType":"YulFunctionCall","src":"17917:10:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"17912:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"17892:3:4","statements":[]},"src":"17888:113:4"},{"body":{"nodeType":"YulBlock","src":"18035:76:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"18085:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"18090:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18081:3:4"},"nodeType":"YulFunctionCall","src":"18081:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"18099:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18074:6:4"},"nodeType":"YulFunctionCall","src":"18074:27:4"},"nodeType":"YulExpressionStatement","src":"18074:27:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"18016:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"18019:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18013:2:4"},"nodeType":"YulFunctionCall","src":"18013:13:4"},"nodeType":"YulIf","src":"18010:2:4"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"17841:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"17846:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"17851:6:4","type":""}],"src":"17810:307:4"},{"body":{"nodeType":"YulBlock","src":"18166:238:4","statements":[{"nodeType":"YulVariableDeclaration","src":"18176:58:4","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"18198:6:4"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"18228:4:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"18206:21:4"},"nodeType":"YulFunctionCall","src":"18206:27:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18194:3:4"},"nodeType":"YulFunctionCall","src":"18194:40:4"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"18180:10:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"18345:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"18347:16:4"},"nodeType":"YulFunctionCall","src":"18347:18:4"},"nodeType":"YulExpressionStatement","src":"18347:18:4"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"18288:10:4"},{"kind":"number","nodeType":"YulLiteral","src":"18300:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"18285:2:4"},"nodeType":"YulFunctionCall","src":"18285:34:4"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"18324:10:4"},{"name":"memPtr","nodeType":"YulIdentifier","src":"18336:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"18321:2:4"},"nodeType":"YulFunctionCall","src":"18321:22:4"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"18282:2:4"},"nodeType":"YulFunctionCall","src":"18282:62:4"},"nodeType":"YulIf","src":"18279:2:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18383:2:4","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"18387:10:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18376:6:4"},"nodeType":"YulFunctionCall","src":"18376:22:4"},"nodeType":"YulExpressionStatement","src":"18376:22:4"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"18152:6:4","type":""},{"name":"size","nodeType":"YulTypedName","src":"18160:4:4","type":""}],"src":"18123:281:4"},{"body":{"nodeType":"YulBlock","src":"18438:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18455:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18458:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18448:6:4"},"nodeType":"YulFunctionCall","src":"18448:88:4"},"nodeType":"YulExpressionStatement","src":"18448:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18552:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"18555:4:4","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"18545:6:4"},"nodeType":"YulFunctionCall","src":"18545:15:4"},"nodeType":"YulExpressionStatement","src":"18545:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18576:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18579:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18569:6:4"},"nodeType":"YulFunctionCall","src":"18569:15:4"},"nodeType":"YulExpressionStatement","src":"18569:15:4"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"18410:180:4"},{"body":{"nodeType":"YulBlock","src":"18644:54:4","statements":[{"nodeType":"YulAssignment","src":"18654:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18672:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"18679:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"18668:3:4"},"nodeType":"YulFunctionCall","src":"18668:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18688:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"18684:3:4"},"nodeType":"YulFunctionCall","src":"18684:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"18664:3:4"},"nodeType":"YulFunctionCall","src":"18664:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"18654:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18627:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"18637:6:4","type":""}],"src":"18596:102:4"},{"body":{"nodeType":"YulBlock","src":"18747:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"18804:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18813:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18816:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18806:6:4"},"nodeType":"YulFunctionCall","src":"18806:12:4"},"nodeType":"YulExpressionStatement","src":"18806:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18770:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18795:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"18777:17:4"},"nodeType":"YulFunctionCall","src":"18777:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18767:2:4"},"nodeType":"YulFunctionCall","src":"18767:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18760:6:4"},"nodeType":"YulFunctionCall","src":"18760:43:4"},"nodeType":"YulIf","src":"18757:2:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18740:5:4","type":""}],"src":"18704:122:4"},{"body":{"nodeType":"YulBlock","src":"18875:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"18932:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"18941:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"18944:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"18934:6:4"},"nodeType":"YulFunctionCall","src":"18934:12:4"},"nodeType":"YulExpressionStatement","src":"18934:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18898:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"18923:5:4"}],"functionName":{"name":"cleanup_t_bytes32","nodeType":"YulIdentifier","src":"18905:17:4"},"nodeType":"YulFunctionCall","src":"18905:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"18895:2:4"},"nodeType":"YulFunctionCall","src":"18895:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"18888:6:4"},"nodeType":"YulFunctionCall","src":"18888:43:4"},"nodeType":"YulIf","src":"18885:2:4"}]},"name":"validator_revert_t_bytes32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18868:5:4","type":""}],"src":"18832:122:4"},{"body":{"nodeType":"YulBlock","src":"19002:78:4","statements":[{"body":{"nodeType":"YulBlock","src":"19058:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19067:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19070:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19060:6:4"},"nodeType":"YulFunctionCall","src":"19060:12:4"},"nodeType":"YulExpressionStatement","src":"19060:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19025:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19049:5:4"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"19032:16:4"},"nodeType":"YulFunctionCall","src":"19032:23:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19022:2:4"},"nodeType":"YulFunctionCall","src":"19022:34:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19015:6:4"},"nodeType":"YulFunctionCall","src":"19015:42:4"},"nodeType":"YulIf","src":"19012:2:4"}]},"name":"validator_revert_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"18995:5:4","type":""}],"src":"18960:120:4"},{"body":{"nodeType":"YulBlock","src":"19129:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"19186:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"19195:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"19198:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"19188:6:4"},"nodeType":"YulFunctionCall","src":"19188:12:4"},"nodeType":"YulExpressionStatement","src":"19188:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19152:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"19177:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"19159:17:4"},"nodeType":"YulFunctionCall","src":"19159:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"19149:2:4"},"nodeType":"YulFunctionCall","src":"19149:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"19142:6:4"},"nodeType":"YulFunctionCall","src":"19142:43:4"},"nodeType":"YulIf","src":"19139:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"19122:5:4","type":""}],"src":"19086:122:4"}]},"contents":"{\n\n function abi_decode_available_length_t_bytes_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_bytes_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n // bytes\n function abi_decode_t_bytes_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_bytes_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_int256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int256(value)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32t_bytes32(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_bytes_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256t_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3 {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 64))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value2 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 96))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value3 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(value0, pos) -> updatedPos {\n abi_encode_t_bytes32_to_t_bytes32(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function abi_encodeUpdatedPos_t_uint256_to_t_uint256(value0, pos) -> updatedPos {\n abi_encode_t_uint256_to_t_uint256(value0, pos)\n updatedPos := add(pos, 0x20)\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n // bytes32[2] -> bytes32[2]\n function abi_encode_t_array$_t_bytes32_$2_memory_ptr_to_t_array$_t_bytes32_$2_memory_ptr_fromStack(value, pos) {\n let length := array_length_t_array$_t_bytes32_$2_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_bytes32_$2_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_bytes32_$2_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_bytes32_to_t_bytes32(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_bytes32_$2_memory_ptr(srcPtr)\n }\n\n }\n\n // uint256[2] -> uint256[2]\n function abi_encode_t_array$_t_uint256_$2_memory_ptr_to_t_array$_t_uint256_$2_memory_ptr_fromStack(value, pos) {\n let length := array_length_t_array$_t_uint256_$2_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_array$_t_uint256_$2_memory_ptr_fromStack(pos, length)\n let baseRef := array_dataslot_t_array$_t_uint256_$2_memory_ptr(value)\n let srcPtr := baseRef\n for { let i := 0 } lt(i, length) { i := add(i, 1) }\n {\n let elementValue0 := mload(srcPtr)\n pos := abi_encodeUpdatedPos_t_uint256_to_t_uint256(elementValue0, pos)\n srcPtr := array_nextElement_t_array$_t_uint256_$2_memory_ptr(srcPtr)\n }\n\n }\n\n function abi_encode_t_bytes32_to_t_bytes32(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_bytes_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n // struct Events.Struct -> struct Events.Struct\n function abi_encode_t_struct$_Struct_$47_memory_ptr_to_t_struct$_Struct_$47_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // u\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // v\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\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 pos := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\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 pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_array$_t_bytes32_$2_memory_ptr__to_t_array$_t_bytes32_$2_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_array$_t_bytes32_$2_memory_ptr_to_t_array$_t_bytes32_$2_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_array$_t_uint256_$2_memory_ptr__to_t_array$_t_uint256_$2_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_array$_t_uint256_$2_memory_ptr_to_t_array$_t_uint256_$2_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes_memory_ptr__to_t_bytes_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_bytes_memory_ptr_to_t_bytes_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function abi_encode_tuple_t_struct$_Struct_$47_memory_ptr__to_t_struct$_Struct_$47_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_Struct_$47_memory_ptr_to_t_struct$_Struct_$47_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_uint256__to_t_uint256_t_uint256__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value1, add(headStart, 32))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_bytes_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_dataslot_t_array$_t_bytes32_$2_memory_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function array_dataslot_t_array$_t_uint256_$2_memory_ptr(ptr) -> data {\n data := ptr\n\n }\n\n function array_length_t_array$_t_bytes32_$2_memory_ptr(value) -> length {\n\n length := 0x02\n\n }\n\n function array_length_t_array$_t_uint256_$2_memory_ptr(value) -> length {\n\n length := 0x02\n\n }\n\n function array_length_t_bytes_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_nextElement_t_array$_t_bytes32_$2_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n function array_nextElement_t_array$_t_uint256_$2_memory_ptr(ptr) -> next {\n next := add(ptr, 0x20)\n }\n\n function array_storeLengthForEncoding_t_array$_t_bytes32_$2_memory_ptr_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_array$_t_uint256_$2_memory_ptr_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061012c5760003560e01c80638a618191116100ad578063c76f063511610071578063c76f0635146102c3578063cc07e605146102df578063d3931e57146102fb578063db6cdf6814610317578063ec5c3ede146103215761012c565b80638a6181911461024957806390b37ea214610265578063919402441461026f5780639f31a2231461028b578063c0cd80e6146102a75761012c565b806333311ef3116100f457806333311ef3146101bd57806338393646146101d9578063443690a0146101f5578063532b9cce14610211578063813a8cf51461022d5761012c565b8063048858e5146101315780630c0c941a1461014d57806317aba537146101695780632536f127146101855780632785f8d6146101a1575b600080fd5b61014b600480360381019061014691906109f0565b61033d565b005b61016760048036038101906101629190610b7d565b61036d565b005b610183600480360381019061017e9190610b7d565b6103df565b005b61019f600480360381019061019a9190610abf565b61042e565b005b6101bb60048036038101906101b69190610b29565b610468565b005b6101d760048036038101906101d291906109f0565b6104da565b005b6101f360048036038101906101ee9190610b7d565b610514565b005b61020f600480360381019061020a9190610abf565b610551565b005b61022b60048036038101906102269190610bb9565b610596565b005b61024760048036038101906102429190610b00565b61060e565b005b610263600480360381019061025e9190610a96565b61061a565b005b61026d610654565b005b61028960048036038101906102849190610b00565b610682565b005b6102a560048036038101906102a09190610b7d565b6106bc565b005b6102c160048036038101906102bc9190610a19565b61070b565b005b6102dd60048036038101906102d89190610a55565b61075a565b005b6102f960048036038101906102f49190610a55565b610794565b005b61031560048036038101906103109190610b00565b6107d9565b005b61031f610867565b005b61033b600480360381019061033691906109c7565b610869565b005b807fb421ad092cfce88844bfbfaa9654e824ba0ee5b6b0a220f822406b62c05364c060405160405180910390a250565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce8260405161039c9190610fd2565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516103d39190610fd2565b60405180910390a15050565b7f73e687a2685d698f7acf934b4929a29ae783a4bcb640d71c5d6994d74e2380ca6040518060400160405280848152602001838152506040516104229190610eeb565b60405180910390a15050565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a8160405161045d9190610f5e565b60405180910390a150565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a816040516104979190610f5e565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce826040516104ce9190610fd2565b60405180910390a15050565b7f425517d2678bbca3c0d9d8d9fdbec34c81194e7935ed48a6a19f97db93bcef6a816040516105099190610f06565b60405180910390a150565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e8282604051610545929190610fed565b60405180910390a15050565b8060405161055f9190610e9e565b60405180910390207fd9ca28363e2d8739e0e9c4fea1d2df98d1bd7d9d915d00e5fccbf78c0fddcdb060405160405180910390a250565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e84846040516105c7929190610fed565b60405180910390a17f1f1a2c748505fcd8f16a719fa88d517b1b41111c4f5e07bb28311cdc4d1515388282604051610600929190610f80565b60405180910390a150505050565b61061781610682565b50565b7f39feab747bb4f579008aea963d7ebac85ad410bb83ee663a42af01464654e93f816040516106499190610f43565b60405180910390a150565b7f917b7bf7ab24d61500cb699921a3a1cc22b8833da6484fea20f262b2610604af60405160405180910390a1565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516106b19190610fd2565b60405180910390a150565b7fd59ab87bf64b9d737998f3dc70c649d16b135f085029c1666ca0634beb75a7736040518060400160405280848152602001838152506040516106ff9190610fb7565b60405180910390a15050565b7f15100859f3ffe92910dc3f11ed3db4e9cf32ff657c05066e44be4e69b2b488bc60405180604001604052808481526020018381525060405161074e9190610ed0565b60405180910390a15050565b7f433470edcdd53b50238be4d8e048e2baa269af5be2a4e29515c138883c745aa8816040516107899190610f21565b60405180910390a150565b806040516107a29190610e87565b60405180910390207f160e4655df40987951accf7c731d5c504f77d20c139bd73032821b91a426dd9860405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391940244826040518263ffffffff1660e01b81526004016108329190610fd2565b600060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505050565b565b7f336bcd960d2e5a52cef6094ba33727f309dc2c675eebefc6d9b6b6d79abac877816040516108989190610eb5565b60405180910390a150565b60006108b66108b18461103b565b611016565b9050828152602081018484840111156108ce57600080fd5b6108d9848285611195565b509392505050565b60006108f46108ef8461106c565b611016565b90508281526020810184848401111561090c57600080fd5b610917848285611195565b509392505050565b60008135905061092e81611248565b92915050565b6000813590506109438161125f565b92915050565b600082601f83011261095a57600080fd5b813561096a8482602086016108a3565b91505092915050565b60008135905061098281611276565b92915050565b600082601f83011261099957600080fd5b81356109a98482602086016108e1565b91505092915050565b6000813590506109c18161128d565b92915050565b6000602082840312156109d957600080fd5b60006109e78482850161091f565b91505092915050565b600060208284031215610a0257600080fd5b6000610a1084828501610934565b91505092915050565b60008060408385031215610a2c57600080fd5b6000610a3a85828601610934565b9250506020610a4b85828601610934565b9150509250929050565b600060208284031215610a6757600080fd5b600082013567ffffffffffffffff811115610a8157600080fd5b610a8d84828501610949565b91505092915050565b600060208284031215610aa857600080fd5b6000610ab684828501610973565b91505092915050565b600060208284031215610ad157600080fd5b600082013567ffffffffffffffff811115610aeb57600080fd5b610af784828501610988565b91505092915050565b600060208284031215610b1257600080fd5b6000610b20848285016109b2565b91505092915050565b60008060408385031215610b3c57600080fd5b6000610b4a858286016109b2565b925050602083013567ffffffffffffffff811115610b6757600080fd5b610b7385828601610988565b9150509250929050565b60008060408385031215610b9057600080fd5b6000610b9e858286016109b2565b9250506020610baf858286016109b2565b9150509250929050565b60008060008060808587031215610bcf57600080fd5b6000610bdd878288016109b2565b9450506020610bee878288016109b2565b935050604085013567ffffffffffffffff811115610c0b57600080fd5b610c1787828801610988565b925050606085013567ffffffffffffffff811115610c3457600080fd5b610c4087828801610988565b91505092959194509250565b6000610c588383610d39565b60208301905092915050565b6000610c708383610e69565b60208301905092915050565b610c8581611145565b82525050565b610c94816110b1565b610c9e81846110f7565b9250610ca98261109d565b8060005b83811015610cda578151610cc18782610c4c565b9650610ccc836110dd565b925050600181019050610cad565b505050505050565b610ceb816110bc565b610cf58184611102565b9250610d00826110a7565b8060005b83811015610d31578151610d188782610c64565b9650610d23836110ea565b925050600181019050610d04565b505050505050565b610d4281611157565b82525050565b610d5181611157565b82525050565b6000610d62826110c7565b610d6c818561110d565b9350610d7c8185602086016111a4565b610d8581611237565b840191505092915050565b6000610d9b826110c7565b610da5818561111e565b9350610db58185602086016111a4565b80840191505092915050565b610dca81611161565b82525050565b6000610ddb826110d2565b610de58185611129565b9350610df58185602086016111a4565b610dfe81611237565b840191505092915050565b6000610e14826110d2565b610e1e818561113a565b9350610e2e8185602086016111a4565b80840191505092915050565b604082016000820151610e506000850182610e69565b506020820151610e636020850182610e69565b50505050565b610e728161118b565b82525050565b610e818161118b565b82525050565b6000610e938284610d90565b915081905092915050565b6000610eaa8284610e09565b915081905092915050565b6000602082019050610eca6000830184610c7c565b92915050565b6000604082019050610ee56000830184610c8b565b92915050565b6000604082019050610f006000830184610ce2565b92915050565b6000602082019050610f1b6000830184610d48565b92915050565b60006020820190508181036000830152610f3b8184610d57565b905092915050565b6000602082019050610f586000830184610dc1565b92915050565b60006020820190508181036000830152610f788184610dd0565b905092915050565b60006040820190508181036000830152610f9a8185610dd0565b90508181036020830152610fae8184610dd0565b90509392505050565b6000604082019050610fcc6000830184610e3a565b92915050565b6000602082019050610fe76000830184610e78565b92915050565b60006040820190506110026000830185610e78565b61100f6020830184610e78565b9392505050565b6000611020611031565b905061102c82826111d7565b919050565b6000604051905090565b600067ffffffffffffffff82111561105657611055611208565b5b61105f82611237565b9050602081019050919050565b600067ffffffffffffffff82111561108757611086611208565b5b61109082611237565b9050602081019050919050565b6000819050919050565b6000819050919050565b600060029050919050565b600060029050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006111508261116b565b9050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156111c25780820151818401526020810190506111a7565b838111156111d1576000848401525b50505050565b6111e082611237565b810181811067ffffffffffffffff821117156111ff576111fe611208565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61125181611145565b811461125c57600080fd5b50565b61126881611157565b811461127357600080fd5b50565b61127f81611161565b811461128a57600080fd5b50565b6112968161118b565b81146112a157600080fd5b5056fea264697066735822122073a91a740c0de3883c5213c5981d98d2396a8b60b3cf2fb364d7e4cc826a841e64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12C JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x8A618191 GT PUSH2 0xAD JUMPI DUP1 PUSH4 0xC76F0635 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xC76F0635 EQ PUSH2 0x2C3 JUMPI DUP1 PUSH4 0xCC07E605 EQ PUSH2 0x2DF JUMPI DUP1 PUSH4 0xD3931E57 EQ PUSH2 0x2FB JUMPI DUP1 PUSH4 0xDB6CDF68 EQ PUSH2 0x317 JUMPI DUP1 PUSH4 0xEC5C3EDE EQ PUSH2 0x321 JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x8A618191 EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x90B37EA2 EQ PUSH2 0x265 JUMPI DUP1 PUSH4 0x91940244 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x9F31A223 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0xC0CD80E6 EQ PUSH2 0x2A7 JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x33311EF3 GT PUSH2 0xF4 JUMPI DUP1 PUSH4 0x33311EF3 EQ PUSH2 0x1BD JUMPI DUP1 PUSH4 0x38393646 EQ PUSH2 0x1D9 JUMPI DUP1 PUSH4 0x443690A0 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x532B9CCE EQ PUSH2 0x211 JUMPI DUP1 PUSH4 0x813A8CF5 EQ PUSH2 0x22D JUMPI PUSH2 0x12C JUMP JUMPDEST DUP1 PUSH4 0x48858E5 EQ PUSH2 0x131 JUMPI DUP1 PUSH4 0xC0C941A EQ PUSH2 0x14D JUMPI DUP1 PUSH4 0x17ABA537 EQ PUSH2 0x169 JUMPI DUP1 PUSH4 0x2536F127 EQ PUSH2 0x185 JUMPI DUP1 PUSH4 0x2785F8D6 EQ PUSH2 0x1A1 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x146 SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH2 0x33D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x167 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x162 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x36D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x183 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17E SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19A SWAP2 SWAP1 PUSH2 0xABF JUMP JUMPDEST PUSH2 0x42E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B6 SWAP2 SWAP1 PUSH2 0xB29 JUMP JUMPDEST PUSH2 0x468 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D7 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1D2 SWAP2 SWAP1 PUSH2 0x9F0 JUMP JUMPDEST PUSH2 0x4DA JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1EE SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x514 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x20F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x20A SWAP2 SWAP1 PUSH2 0xABF JUMP JUMPDEST PUSH2 0x551 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x22B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x226 SWAP2 SWAP1 PUSH2 0xBB9 JUMP JUMPDEST PUSH2 0x596 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x247 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x242 SWAP2 SWAP1 PUSH2 0xB00 JUMP JUMPDEST PUSH2 0x60E JUMP JUMPDEST STOP JUMPDEST PUSH2 0x263 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25E SWAP2 SWAP1 PUSH2 0xA96 JUMP JUMPDEST PUSH2 0x61A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26D PUSH2 0x654 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x284 SWAP2 SWAP1 PUSH2 0xB00 JUMP JUMPDEST PUSH2 0x682 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2A0 SWAP2 SWAP1 PUSH2 0xB7D JUMP JUMPDEST PUSH2 0x6BC JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BC SWAP2 SWAP1 PUSH2 0xA19 JUMP JUMPDEST PUSH2 0x70B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2DD PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D8 SWAP2 SWAP1 PUSH2 0xA55 JUMP JUMPDEST PUSH2 0x75A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2F4 SWAP2 SWAP1 PUSH2 0xA55 JUMP JUMPDEST PUSH2 0x794 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x315 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x310 SWAP2 SWAP1 PUSH2 0xB00 JUMP JUMPDEST PUSH2 0x7D9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x31F PUSH2 0x867 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x33B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x336 SWAP2 SWAP1 PUSH2 0x9C7 JUMP JUMPDEST PUSH2 0x869 JUMP JUMPDEST STOP JUMPDEST DUP1 PUSH32 0xB421AD092CFCE88844BFBFAA9654E824BA0EE5B6B0A220F822406B62C05364C0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP3 PUSH1 0x40 MLOAD PUSH2 0x39C SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP2 PUSH1 0x40 MLOAD PUSH2 0x3D3 SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x73E687A2685D698F7ACF934B4929A29AE783A4BCB640D71C5D6994D74E2380CA PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x422 SWAP2 SWAP1 PUSH2 0xEEB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x9B7DDCBDE8DAC280E036F87ACAFEC72F9EEE31A640C08087E8439139C7E5B52A DUP2 PUSH1 0x40 MLOAD PUSH2 0x45D SWAP2 SWAP1 PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x9B7DDCBDE8DAC280E036F87ACAFEC72F9EEE31A640C08087E8439139C7E5B52A DUP2 PUSH1 0x40 MLOAD PUSH2 0x497 SWAP2 SWAP1 PUSH2 0xF5E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP3 PUSH1 0x40 MLOAD PUSH2 0x4CE SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x425517D2678BBCA3C0D9D8D9FDBEC34C81194E7935ED48A6A19F97DB93BCEF6A DUP2 PUSH1 0x40 MLOAD PUSH2 0x509 SWAP2 SWAP1 PUSH2 0xF06 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x8B268BB46A33A55BECE084A8B6858719C9F2985C860FA06C155A341DF0B73C0E DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x545 SWAP3 SWAP2 SWAP1 PUSH2 0xFED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH2 0x55F SWAP2 SWAP1 PUSH2 0xE9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0xD9CA28363E2D8739E0E9C4FEA1D2DF98D1BD7D9D915D00E5FCCBF78C0FDDCDB0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH32 0x8B268BB46A33A55BECE084A8B6858719C9F2985C860FA06C155A341DF0B73C0E DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0x5C7 SWAP3 SWAP2 SWAP1 PUSH2 0xFED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH32 0x1F1A2C748505FCD8F16A719FA88D517B1B41111C4F5E07BB28311CDC4D151538 DUP3 DUP3 PUSH1 0x40 MLOAD PUSH2 0x600 SWAP3 SWAP2 SWAP1 PUSH2 0xF80 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x617 DUP2 PUSH2 0x682 JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x39FEAB747BB4F579008AEA963D7EBAC85AD410BB83EE663A42AF01464654E93F DUP2 PUSH1 0x40 MLOAD PUSH2 0x649 SWAP2 SWAP1 PUSH2 0xF43 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x917B7BF7AB24D61500CB699921A3A1CC22B8833DA6484FEA20F262B2610604AF PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH32 0x97535D4B4270D3F1A499C85AE918BA6798CBDCC83A26529331A25DCD2194CFCE DUP2 PUSH1 0x40 MLOAD PUSH2 0x6B1 SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0xD59AB87BF64B9D737998F3DC70C649D16B135F085029C1666CA0634BEB75A773 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x6FF SWAP2 SWAP1 PUSH2 0xFB7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x15100859F3FFE92910DC3F11ED3DB4E9CF32FF657C05066E44BE4E69B2B488BC PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH2 0x74E SWAP2 SWAP1 PUSH2 0xED0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0x433470EDCDD53B50238BE4D8E048E2BAA269AF5BE2A4E29515C138883C745AA8 DUP2 PUSH1 0x40 MLOAD PUSH2 0x789 SWAP2 SWAP1 PUSH2 0xF21 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH2 0x7A2 SWAP2 SWAP1 PUSH2 0xE87 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH32 0x160E4655DF40987951ACCF7C731D5C504F77D20C139BD73032821B91A426DD98 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x91940244 DUP3 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x832 SWAP2 SWAP1 PUSH2 0xFD2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x84C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x860 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP JUMP JUMPDEST JUMP JUMPDEST PUSH32 0x336BCD960D2E5A52CEF6094BA33727F309DC2C675EEBEFC6D9B6B6D79ABAC877 DUP2 PUSH1 0x40 MLOAD PUSH2 0x898 SWAP2 SWAP1 PUSH2 0xEB5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8B6 PUSH2 0x8B1 DUP5 PUSH2 0x103B JUMP JUMPDEST PUSH2 0x1016 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x8CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x8D9 DUP5 DUP3 DUP6 PUSH2 0x1195 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8F4 PUSH2 0x8EF DUP5 PUSH2 0x106C JUMP JUMPDEST PUSH2 0x1016 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x90C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x917 DUP5 DUP3 DUP6 PUSH2 0x1195 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x92E DUP2 PUSH2 0x1248 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x943 DUP2 PUSH2 0x125F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x95A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x96A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8A3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x982 DUP2 PUSH2 0x1276 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x999 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x9A9 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x9C1 DUP2 PUSH2 0x128D JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9D9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x9E7 DUP5 DUP3 DUP6 ADD PUSH2 0x91F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA02 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA10 DUP5 DUP3 DUP6 ADD PUSH2 0x934 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA2C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA3A DUP6 DUP3 DUP7 ADD PUSH2 0x934 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA4B DUP6 DUP3 DUP7 ADD PUSH2 0x934 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xA67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA81 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA8D DUP5 DUP3 DUP6 ADD PUSH2 0x949 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAA8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xAB6 DUP5 DUP3 DUP6 ADD PUSH2 0x973 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xAD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xAEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xAF7 DUP5 DUP3 DUP6 ADD PUSH2 0x988 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xB12 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB20 DUP5 DUP3 DUP6 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB3C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB4A DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xB67 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB73 DUP6 DUP3 DUP7 ADD PUSH2 0x988 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xB90 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xB9E DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBAF DUP6 DUP3 DUP7 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0xBCF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xBDD DUP8 DUP3 DUP9 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP5 POP POP PUSH1 0x20 PUSH2 0xBEE DUP8 DUP3 DUP9 ADD PUSH2 0x9B2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC17 DUP8 DUP3 DUP9 ADD PUSH2 0x988 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xC34 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xC40 DUP8 DUP3 DUP9 ADD PUSH2 0x988 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 SWAP2 SWAP5 POP SWAP3 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC58 DUP4 DUP4 PUSH2 0xD39 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC70 DUP4 DUP4 PUSH2 0xE69 JUMP JUMPDEST PUSH1 0x20 DUP4 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xC85 DUP2 PUSH2 0x1145 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xC94 DUP2 PUSH2 0x10B1 JUMP JUMPDEST PUSH2 0xC9E DUP2 DUP5 PUSH2 0x10F7 JUMP JUMPDEST SWAP3 POP PUSH2 0xCA9 DUP3 PUSH2 0x109D JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xCDA JUMPI DUP2 MLOAD PUSH2 0xCC1 DUP8 DUP3 PUSH2 0xC4C JUMP JUMPDEST SWAP7 POP PUSH2 0xCCC DUP4 PUSH2 0x10DD JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xCAD JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xCEB DUP2 PUSH2 0x10BC JUMP JUMPDEST PUSH2 0xCF5 DUP2 DUP5 PUSH2 0x1102 JUMP JUMPDEST SWAP3 POP PUSH2 0xD00 DUP3 PUSH2 0x10A7 JUMP JUMPDEST DUP1 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xD31 JUMPI DUP2 MLOAD PUSH2 0xD18 DUP8 DUP3 PUSH2 0xC64 JUMP JUMPDEST SWAP7 POP PUSH2 0xD23 DUP4 PUSH2 0x10EA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x1 DUP2 ADD SWAP1 POP PUSH2 0xD04 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0xD42 DUP2 PUSH2 0x1157 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xD51 DUP2 PUSH2 0x1157 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD62 DUP3 PUSH2 0x10C7 JUMP JUMPDEST PUSH2 0xD6C DUP2 DUP6 PUSH2 0x110D JUMP JUMPDEST SWAP4 POP PUSH2 0xD7C DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST PUSH2 0xD85 DUP2 PUSH2 0x1237 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD9B DUP3 PUSH2 0x10C7 JUMP JUMPDEST PUSH2 0xDA5 DUP2 DUP6 PUSH2 0x111E JUMP JUMPDEST SWAP4 POP PUSH2 0xDB5 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xDCA DUP2 PUSH2 0x1161 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDDB DUP3 PUSH2 0x10D2 JUMP JUMPDEST PUSH2 0xDE5 DUP2 DUP6 PUSH2 0x1129 JUMP JUMPDEST SWAP4 POP PUSH2 0xDF5 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST PUSH2 0xDFE DUP2 PUSH2 0x1237 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE14 DUP3 PUSH2 0x10D2 JUMP JUMPDEST PUSH2 0xE1E DUP2 DUP6 PUSH2 0x113A JUMP JUMPDEST SWAP4 POP PUSH2 0xE2E DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x11A4 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0xE50 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xE69 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0xE63 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0xE69 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xE72 DUP2 PUSH2 0x118B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xE81 DUP2 PUSH2 0x118B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xE93 DUP3 DUP5 PUSH2 0xD90 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xEAA DUP3 DUP5 PUSH2 0xE09 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xECA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC7C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xEE5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC8B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xF00 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xCE2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF1B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xD48 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF3B DUP2 DUP5 PUSH2 0xD57 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF58 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF78 DUP2 DUP5 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xF9A DUP2 DUP6 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xFAE DUP2 DUP5 PUSH2 0xDD0 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xFCC PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xE3A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xFE7 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xE78 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x1002 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xE78 JUMP JUMPDEST PUSH2 0x100F PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0xE78 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1020 PUSH2 0x1031 JUMP JUMPDEST SWAP1 POP PUSH2 0x102C DUP3 DUP3 PUSH2 0x11D7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1056 JUMPI PUSH2 0x1055 PUSH2 0x1208 JUMP JUMPDEST JUMPDEST PUSH2 0x105F DUP3 PUSH2 0x1237 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1087 JUMPI PUSH2 0x1086 PUSH2 0x1208 JUMP JUMPDEST JUMPDEST PUSH2 0x1090 DUP3 PUSH2 0x1237 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1150 DUP3 PUSH2 0x116B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x11C2 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x11A7 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x11D1 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0x11E0 DUP3 PUSH2 0x1237 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x11FF JUMPI PUSH2 0x11FE PUSH2 0x1208 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1251 DUP2 PUSH2 0x1145 JUMP JUMPDEST DUP2 EQ PUSH2 0x125C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1268 DUP2 PUSH2 0x1157 JUMP JUMPDEST DUP2 EQ PUSH2 0x1273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x127F DUP2 PUSH2 0x1161 JUMP JUMPDEST DUP2 EQ PUSH2 0x128A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x1296 DUP2 PUSH2 0x118B JUMP JUMPDEST DUP2 EQ PUSH2 0x12A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH20 0xA91A740C0DE3883C5213C5981D98D2396A8B60B3 0xCF 0x2F 0xB3 PUSH5 0xD7E4CC826A DUP5 0x1E PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ","sourceMap":"57:2471:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1696:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1087:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2163:83;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1278:76;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1786:116;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1620:72;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1192:82;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1358:90;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1906:163;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2349:77;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;947:60;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;813:63;;;:::i;:::-;;880;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2073:86;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2250:95;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1452:73;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1529:87;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2430:96;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;779:30;;;:::i;:::-;;1011:72;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1696:86;1775:1;1753:24;;;;;;;;;;1696:86;:::o;1087:101::-;1144:14;1156:1;1144:14;;;;;;:::i;:::-;;;;;;;;1169;1181:1;1169:14;;;;;;:::i;:::-;;;;;;;;1087:101;;:::o;2163:83::-;2220:21;;;;;;;;;2235:1;2220:21;;;;2238:1;2220:21;;;;;;;;;:::i;:::-;;;;;;;;2163:83;;:::o;1278:76::-;1333:16;1347:1;1333:16;;;;;;:::i;:::-;;;;;;;;1278:76;:::o;1786:116::-;1856:16;1870:1;1856:16;;;;;;:::i;:::-;;;;;;;;1883:14;1895:1;1883:14;;;;;;:::i;:::-;;;;;;;;1786:116;;:::o;1620:72::-;1670:17;1685:1;1670:17;;;;;;:::i;:::-;;;;;;;;1620:72;:::o;1192:82::-;1248:21;1264:1;1267;1248:21;;;;;;;:::i;:::-;;;;;;;;1192:82;;:::o;1358:90::-;1441:1;1420:23;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1358:90;:::o;1906:163::-;2009:21;2025:1;2028;2009:21;;;;;;;:::i;:::-;;;;;;;;2041:23;2059:1;2062;2041:23;;;;;;;:::i;:::-;;;;;;;;1906:163;;;;:::o;2349:77::-;2410:11;2419:1;2410:8;:11::i;:::-;2349:77;:::o;947:60::-;989:13;1000:1;989:13;;;;;;:::i;:::-;;;;;;;;947:60;:::o;813:63::-;858:13;;;;;;;;;;813:63::o;880:::-;924:14;936:1;924:14;;;;;;:::i;:::-;;;;;;;;880:63;:::o;2073:86::-;2127:27;2141:12;;;;;;;;2148:1;2141:12;;;;2151:1;2141:12;;;2127:27;;;;;;:::i;:::-;;;;;;;;2073:86;;:::o;2250:95::-;2316:24;;;;;;;;;2334:1;2316:24;;;;2337:1;2316:24;;;;;;;;;:::i;:::-;;;;;;;;2250:95;;:::o;1452:73::-;1505:15;1518:1;1505:15;;;;;;:::i;:::-;;;;;;;;1452:73;:::o;1529:87::-;1609:1;1589:22;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1529:87;:::o;2430:96::-;2494:15;;;;;;;;;;:24;;;2519:1;2494:27;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2430:96;:::o;779:30::-;:::o;1011:72::-;1061:17;1076:1;1061:17;;;;;;:::i;:::-;;;;;;;;1011:72;:::o;7:343:4:-;84:5;109:65;125:48;166:6;125:48;:::i;:::-;109:65;:::i;:::-;100:74;;197:6;190:5;183:21;235:4;228:5;224:16;273:3;264:6;259:3;255:16;252:25;249:2;;;290:1;287;280:12;249:2;303:41;337:6;332:3;327;303:41;:::i;:::-;90:260;;;;;;:::o;356:345::-;434:5;459:66;475:49;517:6;475:49;:::i;:::-;459:66;:::i;:::-;450:75;;548:6;541:5;534:21;586:4;579:5;575:16;624:3;615:6;610:3;606:16;603:25;600:2;;;641:1;638;631:12;600:2;654:41;688:6;683:3;678;654:41;:::i;:::-;440:261;;;;;;:::o;707:139::-;753:5;791:6;778:20;769:29;;807:33;834:5;807:33;:::i;:::-;759:87;;;;:::o;852:139::-;898:5;936:6;923:20;914:29;;952:33;979:5;952:33;:::i;:::-;904:87;;;;:::o;1010:271::-;1065:5;1114:3;1107:4;1099:6;1095:17;1091:27;1081:2;;1132:1;1129;1122:12;1081:2;1172:6;1159:20;1197:78;1271:3;1263:6;1256:4;1248:6;1244:17;1197:78;:::i;:::-;1188:87;;1071:210;;;;;:::o;1287:137::-;1332:5;1370:6;1357:20;1348:29;;1386:32;1412:5;1386:32;:::i;:::-;1338:86;;;;:::o;1444:273::-;1500:5;1549:3;1542:4;1534:6;1530:17;1526:27;1516:2;;1567:1;1564;1557:12;1516:2;1607:6;1594:20;1632:79;1707:3;1699:6;1692:4;1684:6;1680:17;1632:79;:::i;:::-;1623:88;;1506:211;;;;;:::o;1723:139::-;1769:5;1807:6;1794:20;1785:29;;1823:33;1850:5;1823:33;:::i;:::-;1775:87;;;;:::o;1868:262::-;1927:6;1976:2;1964:9;1955:7;1951:23;1947:32;1944:2;;;1992:1;1989;1982:12;1944:2;2035:1;2060:53;2105:7;2096:6;2085:9;2081:22;2060:53;:::i;:::-;2050:63;;2006:117;1934:196;;;;:::o;2136:262::-;2195:6;2244:2;2232:9;2223:7;2219:23;2215:32;2212:2;;;2260:1;2257;2250:12;2212:2;2303:1;2328:53;2373:7;2364:6;2353:9;2349:22;2328:53;:::i;:::-;2318:63;;2274:117;2202:196;;;;:::o;2404:407::-;2472:6;2480;2529:2;2517:9;2508:7;2504:23;2500:32;2497:2;;;2545:1;2542;2535:12;2497:2;2588:1;2613:53;2658:7;2649:6;2638:9;2634:22;2613:53;:::i;:::-;2603:63;;2559:117;2715:2;2741:53;2786:7;2777:6;2766:9;2762:22;2741:53;:::i;:::-;2731:63;;2686:118;2487:324;;;;;:::o;2817:373::-;2885:6;2934:2;2922:9;2913:7;2909:23;2905:32;2902:2;;;2950:1;2947;2940:12;2902:2;3021:1;3010:9;3006:17;2993:31;3051:18;3043:6;3040:30;3037:2;;;3083:1;3080;3073:12;3037:2;3111:62;3165:7;3156:6;3145:9;3141:22;3111:62;:::i;:::-;3101:72;;2964:219;2892:298;;;;:::o;3196:260::-;3254:6;3303:2;3291:9;3282:7;3278:23;3274:32;3271:2;;;3319:1;3316;3309:12;3271:2;3362:1;3387:52;3431:7;3422:6;3411:9;3407:22;3387:52;:::i;:::-;3377:62;;3333:116;3261:195;;;;:::o;3462:375::-;3531:6;3580:2;3568:9;3559:7;3555:23;3551:32;3548:2;;;3596:1;3593;3586:12;3548:2;3667:1;3656:9;3652:17;3639:31;3697:18;3689:6;3686:30;3683:2;;;3729:1;3726;3719:12;3683:2;3757:63;3812:7;3803:6;3792:9;3788:22;3757:63;:::i;:::-;3747:73;;3610:220;3538:299;;;;:::o;3843:262::-;3902:6;3951:2;3939:9;3930:7;3926:23;3922:32;3919:2;;;3967:1;3964;3957:12;3919:2;4010:1;4035:53;4080:7;4071:6;4060:9;4056:22;4035:53;:::i;:::-;4025:63;;3981:117;3909:196;;;;:::o;4111:520::-;4189:6;4197;4246:2;4234:9;4225:7;4221:23;4217:32;4214:2;;;4262:1;4259;4252:12;4214:2;4305:1;4330:53;4375:7;4366:6;4355:9;4351:22;4330:53;:::i;:::-;4320:63;;4276:117;4460:2;4449:9;4445:18;4432:32;4491:18;4483:6;4480:30;4477:2;;;4523:1;4520;4513:12;4477:2;4551:63;4606:7;4597:6;4586:9;4582:22;4551:63;:::i;:::-;4541:73;;4403:221;4204:427;;;;;:::o;4637:407::-;4705:6;4713;4762:2;4750:9;4741:7;4737:23;4733:32;4730:2;;;4778:1;4775;4768:12;4730:2;4821:1;4846:53;4891:7;4882:6;4871:9;4867:22;4846:53;:::i;:::-;4836:63;;4792:117;4948:2;4974:53;5019:7;5010:6;4999:9;4995:22;4974:53;:::i;:::-;4964:63;;4919:118;4720:324;;;;;:::o;5050:924::-;5156:6;5164;5172;5180;5229:3;5217:9;5208:7;5204:23;5200:33;5197:2;;;5246:1;5243;5236:12;5197:2;5289:1;5314:53;5359:7;5350:6;5339:9;5335:22;5314:53;:::i;:::-;5304:63;;5260:117;5416:2;5442:53;5487:7;5478:6;5467:9;5463:22;5442:53;:::i;:::-;5432:63;;5387:118;5572:2;5561:9;5557:18;5544:32;5603:18;5595:6;5592:30;5589:2;;;5635:1;5632;5625:12;5589:2;5663:63;5718:7;5709:6;5698:9;5694:22;5663:63;:::i;:::-;5653:73;;5515:221;5803:2;5792:9;5788:18;5775:32;5834:18;5826:6;5823:30;5820:2;;;5866:1;5863;5856:12;5820:2;5894:63;5949:7;5940:6;5929:9;5925:22;5894:63;:::i;:::-;5884:73;;5746:221;5187:787;;;;;;;:::o;5980:179::-;6049:10;6070:46;6112:3;6104:6;6070:46;:::i;:::-;6148:4;6143:3;6139:14;6125:28;;6060:99;;;;:::o;6165:179::-;6234:10;6255:46;6297:3;6289:6;6255:46;:::i;:::-;6333:4;6328:3;6324:14;6310:28;;6245:99;;;;:::o;6350:118::-;6437:24;6455:5;6437:24;:::i;:::-;6432:3;6425:37;6415:53;;:::o;6506:694::-;6642:52;6688:5;6642:52;:::i;:::-;6710:84;6787:6;6782:3;6710:84;:::i;:::-;6703:91;;6818:54;6866:5;6818:54;:::i;:::-;6895:7;6926:1;6911:282;6936:6;6933:1;6930:13;6911:282;;;7012:6;7006:13;7039:63;7098:3;7083:13;7039:63;:::i;:::-;7032:70;;7125:58;7176:6;7125:58;:::i;:::-;7115:68;;6971:222;6958:1;6955;6951:9;6946:14;;6911:282;;;6915:14;6618:582;;;;;:::o;7238:694::-;7374:52;7420:5;7374:52;:::i;:::-;7442:84;7519:6;7514:3;7442:84;:::i;:::-;7435:91;;7550:54;7598:5;7550:54;:::i;:::-;7627:7;7658:1;7643:282;7668:6;7665:1;7662:13;7643:282;;;7744:6;7738:13;7771:63;7830:3;7815:13;7771:63;:::i;:::-;7764:70;;7857:58;7908:6;7857:58;:::i;:::-;7847:68;;7703:222;7690:1;7687;7683:9;7678:14;;7643:282;;;7647:14;7350:582;;;;;:::o;7938:108::-;8015:24;8033:5;8015:24;:::i;:::-;8010:3;8003:37;7993:53;;:::o;8052:118::-;8139:24;8157:5;8139:24;:::i;:::-;8134:3;8127:37;8117:53;;:::o;8176:360::-;8262:3;8290:38;8322:5;8290:38;:::i;:::-;8344:70;8407:6;8402:3;8344:70;:::i;:::-;8337:77;;8423:52;8468:6;8463:3;8456:4;8449:5;8445:16;8423:52;:::i;:::-;8500:29;8522:6;8500:29;:::i;:::-;8495:3;8491:39;8484:46;;8266:270;;;;;:::o;8542:373::-;8646:3;8674:38;8706:5;8674:38;:::i;:::-;8728:88;8809:6;8804:3;8728:88;:::i;:::-;8721:95;;8825:52;8870:6;8865:3;8858:4;8851:5;8847:16;8825:52;:::i;:::-;8902:6;8897:3;8893:16;8886:23;;8650:265;;;;;:::o;8921:115::-;9006:23;9023:5;9006:23;:::i;:::-;9001:3;8994:36;8984:52;;:::o;9042:364::-;9130:3;9158:39;9191:5;9158:39;:::i;:::-;9213:71;9277:6;9272:3;9213:71;:::i;:::-;9206:78;;9293:52;9338:6;9333:3;9326:4;9319:5;9315:16;9293:52;:::i;:::-;9370:29;9392:6;9370:29;:::i;:::-;9365:3;9361:39;9354:46;;9134:272;;;;;:::o;9412:377::-;9518:3;9546:39;9579:5;9546:39;:::i;:::-;9601:89;9683:6;9678:3;9601:89;:::i;:::-;9594:96;;9699:52;9744:6;9739:3;9732:4;9725:5;9721:16;9699:52;:::i;:::-;9776:6;9771:3;9767:16;9760:23;;9522:267;;;;;:::o;9847:495::-;9988:4;9983:3;9979:14;10072:4;10065:5;10061:16;10055:23;10091:63;10148:4;10143:3;10139:14;10125:12;10091:63;:::i;:::-;10003:161;10243:4;10236:5;10232:16;10226:23;10262:63;10319:4;10314:3;10310:14;10296:12;10262:63;:::i;:::-;10174:161;9957:385;;;:::o;10348:108::-;10425:24;10443:5;10425:24;:::i;:::-;10420:3;10413:37;10403:53;;:::o;10462:118::-;10549:24;10567:5;10549:24;:::i;:::-;10544:3;10537:37;10527:53;;:::o;10586:271::-;10716:3;10738:93;10827:3;10818:6;10738:93;:::i;:::-;10731:100;;10848:3;10841:10;;10720:137;;;;:::o;10863:275::-;10995:3;11017:95;11108:3;11099:6;11017:95;:::i;:::-;11010:102;;11129:3;11122:10;;10999:139;;;;:::o;11144:222::-;11237:4;11275:2;11264:9;11260:18;11252:26;;11288:71;11356:1;11345:9;11341:17;11332:6;11288:71;:::i;:::-;11242:124;;;;:::o;11372:314::-;11511:4;11549:2;11538:9;11534:18;11526:26;;11562:117;11676:1;11665:9;11661:17;11652:6;11562:117;:::i;:::-;11516:170;;;;:::o;11692:314::-;11831:4;11869:2;11858:9;11854:18;11846:26;;11882:117;11996:1;11985:9;11981:17;11972:6;11882:117;:::i;:::-;11836:170;;;;:::o;12012:222::-;12105:4;12143:2;12132:9;12128:18;12120:26;;12156:71;12224:1;12213:9;12209:17;12200:6;12156:71;:::i;:::-;12110:124;;;;:::o;12240:309::-;12351:4;12389:2;12378:9;12374:18;12366:26;;12438:9;12432:4;12428:20;12424:1;12413:9;12409:17;12402:47;12466:76;12537:4;12528:6;12466:76;:::i;:::-;12458:84;;12356:193;;;;:::o;12555:218::-;12646:4;12684:2;12673:9;12669:18;12661:26;;12697:69;12763:1;12752:9;12748:17;12739:6;12697:69;:::i;:::-;12651:122;;;;:::o;12779:313::-;12892:4;12930:2;12919:9;12915:18;12907:26;;12979:9;12973:4;12969:20;12965:1;12954:9;12950:17;12943:47;13007:78;13080:4;13071:6;13007:78;:::i;:::-;12999:86;;12897:195;;;;:::o;13098:514::-;13259:4;13297:2;13286:9;13282:18;13274:26;;13346:9;13340:4;13336:20;13332:1;13321:9;13317:17;13310:47;13374:78;13447:4;13438:6;13374:78;:::i;:::-;13366:86;;13499:9;13493:4;13489:20;13484:2;13473:9;13469:18;13462:48;13527:78;13600:4;13591:6;13527:78;:::i;:::-;13519:86;;13264:348;;;;;:::o;13618:310::-;13755:4;13793:2;13782:9;13778:18;13770:26;;13806:115;13918:1;13907:9;13903:17;13894:6;13806:115;:::i;:::-;13760:168;;;;:::o;13934:222::-;14027:4;14065:2;14054:9;14050:18;14042:26;;14078:71;14146:1;14135:9;14131:17;14122:6;14078:71;:::i;:::-;14032:124;;;;:::o;14162:332::-;14283:4;14321:2;14310:9;14306:18;14298:26;;14334:71;14402:1;14391:9;14387:17;14378:6;14334:71;:::i;:::-;14415:72;14483:2;14472:9;14468:18;14459:6;14415:72;:::i;:::-;14288:206;;;;;:::o;14500:129::-;14534:6;14561:20;;:::i;:::-;14551:30;;14590:33;14618:4;14610:6;14590:33;:::i;:::-;14541:88;;;:::o;14635:75::-;14668:6;14701:2;14695:9;14685:19;;14675:35;:::o;14716:307::-;14777:4;14867:18;14859:6;14856:30;14853:2;;;14889:18;;:::i;:::-;14853:2;14927:29;14949:6;14927:29;:::i;:::-;14919:37;;15011:4;15005;15001:15;14993:23;;14782:241;;;:::o;15029:308::-;15091:4;15181:18;15173:6;15170:30;15167:2;;;15203:18;;:::i;:::-;15167:2;15241:29;15263:6;15241:29;:::i;:::-;15233:37;;15325:4;15319;15315:15;15307:23;;15096:241;;;:::o;15343:98::-;15408:4;15431:3;15423:11;;15413:28;;;:::o;15447:98::-;15512:4;15535:3;15527:11;;15517:28;;;:::o;15551:104::-;15616:6;15644:4;15634:14;;15623:32;;;:::o;15661:104::-;15726:6;15754:4;15744:14;;15733:32;;;:::o;15771:98::-;15822:6;15856:5;15850:12;15840:22;;15829:40;;;:::o;15875:99::-;15927:6;15961:5;15955:12;15945:22;;15934:40;;;:::o;15980:111::-;16048:4;16080;16075:3;16071:14;16063:22;;16053:38;;;:::o;16097:111::-;16165:4;16197;16192:3;16188:14;16180:22;;16170:38;;;:::o;16214:143::-;16311:11;16348:3;16333:18;;16323:34;;;;:::o;16363:143::-;16460:11;16497:3;16482:18;;16472:34;;;;:::o;16512:168::-;16595:11;16629:6;16624:3;16617:19;16669:4;16664:3;16660:14;16645:29;;16607:73;;;;:::o;16686:147::-;16787:11;16824:3;16809:18;;16799:34;;;;:::o;16839:169::-;16923:11;16957:6;16952:3;16945:19;16997:4;16992:3;16988:14;16973:29;;16935:73;;;;:::o;17014:148::-;17116:11;17153:3;17138:18;;17128:34;;;;:::o;17168:96::-;17205:7;17234:24;17252:5;17234:24;:::i;:::-;17223:35;;17213:51;;;:::o;17270:77::-;17307:7;17336:5;17325:16;;17315:32;;;:::o;17353:76::-;17389:7;17418:5;17407:16;;17397:32;;;:::o;17435:126::-;17472:7;17512:42;17505:5;17501:54;17490:65;;17480:81;;;:::o;17567:77::-;17604:7;17633:5;17622:16;;17612:32;;;:::o;17650:154::-;17734:6;17729:3;17724;17711:30;17796:1;17787:6;17782:3;17778:16;17771:27;17701:103;;;:::o;17810:307::-;17878:1;17888:113;17902:6;17899:1;17896:13;17888:113;;;17987:1;17982:3;17978:11;17972:18;17968:1;17963:3;17959:11;17952:39;17924:2;17921:1;17917:10;17912:15;;17888:113;;;18019:6;18016:1;18013:13;18010:2;;;18099:1;18090:6;18085:3;18081:16;18074:27;18010:2;17859:258;;;;:::o;18123:281::-;18206:27;18228:4;18206:27;:::i;:::-;18198:6;18194:40;18336:6;18324:10;18321:22;18300:18;18288:10;18285:34;18282:62;18279:2;;;18347:18;;:::i;:::-;18279:2;18387:10;18383:2;18376:22;18166:238;;;:::o;18410:180::-;18458:77;18455:1;18448:88;18555:4;18552:1;18545:15;18579:4;18576:1;18569:15;18596:102;18637:6;18688:2;18684:7;18679:2;18672:5;18668:14;18664:28;18654:38;;18644:54;;;:::o;18704:122::-;18777:24;18795:5;18777:24;:::i;:::-;18770:5;18767:35;18757:2;;18816:1;18813;18806:12;18757:2;18747:79;:::o;18832:122::-;18905:24;18923:5;18905:24;:::i;:::-;18898:5;18895:35;18885:2;;18944:1;18941;18934:12;18885:2;18875:79;:::o;18960:120::-;19032:23;19049:5;19032:23;:::i;:::-;19025:5;19022:34;19012:2;;19070:1;19067;19060:12;19012:2;19002:78;:::o;19086:122::-;19159:24;19177:5;19159:24;:::i;:::-;19152:5;19149:35;19139:2;;19198:1;19195;19188:12;19139:2;19129:79;:::o"},"methodIdentifiers":{"doNotEmit()":"db6cdf68","emitAddress(address)":"ec5c3ede","emitBytes(bytes)":"c76f0635","emitBytes32(bytes32)":"33311ef3","emitBytes32Array(bytes32,bytes32)":"c0cd80e6","emitIndexedBytes(bytes)":"cc07e605","emitIndexedBytes32(bytes32)":"048858e5","emitIndexedString(string)":"443690a0","emitInt(int256)":"8a618191","emitNestedUintFromAnotherContract(uint256)":"d3931e57","emitNestedUintFromSameContract(uint256)":"813a8cf5","emitString(string)":"2536f127","emitStruct(uint256,uint256)":"9f31a223","emitTwoUints(uint256,uint256)":"38393646","emitTwoUintsAndTwoStrings(uint256,uint256,string,string)":"532b9cce","emitUint(uint256)":"91940244","emitUintAndString(uint256,string)":"2785f8d6","emitUintArray(uint256,uint256)":"17aba537","emitUintTwice(uint256,uint256)":"0c0c941a","emitWithoutArgs()":"90b37ea2"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract AnotherContract\",\"name\":\"c\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"WithAddressArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"b\",\"type\":\"bytes32\"}],\"name\":\"WithBytes32Arg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32[2]\",\"name\":\"a\",\"type\":\"bytes32[2]\"}],\"name\":\"WithBytes32Array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"b\",\"type\":\"bytes\"}],\"name\":\"WithBytesArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"b\",\"type\":\"bytes32\"}],\"name\":\"WithIndexedBytes32Arg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes\",\"name\":\"b\",\"type\":\"bytes\"}],\"name\":\"WithIndexedBytesArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"WithIndexedStringArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"i\",\"type\":\"int256\"}],\"name\":\"WithIntArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"WithStringArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"v\",\"type\":\"uint256\"}],\"indexed\":false,\"internalType\":\"struct Events.Struct\",\"name\":\"s\",\"type\":\"tuple\"}],\"name\":\"WithStructArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"t\",\"type\":\"string\"}],\"name\":\"WithTwoStringArgs\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"v\",\"type\":\"uint256\"}],\"name\":\"WithTwoUintArgs\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"WithUintArg\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[2]\",\"name\":\"a\",\"type\":\"uint256[2]\"}],\"name\":\"WithUintArray\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"WithoutArgs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"doNotEmit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"a\",\"type\":\"address\"}],\"name\":\"emitAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"b\",\"type\":\"bytes\"}],\"name\":\"emitBytes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"b\",\"type\":\"bytes32\"}],\"name\":\"emitBytes32\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"b\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"c\",\"type\":\"bytes32\"}],\"name\":\"emitBytes32Array\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"b\",\"type\":\"bytes\"}],\"name\":\"emitIndexedBytes\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"b\",\"type\":\"bytes32\"}],\"name\":\"emitIndexedBytes32\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"emitIndexedString\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"i\",\"type\":\"int256\"}],\"name\":\"emitInt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"emitNestedUintFromAnotherContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"emitNestedUintFromSameContract\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"emitString\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"v\",\"type\":\"uint256\"}],\"name\":\"emitStruct\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"v\",\"type\":\"uint256\"}],\"name\":\"emitTwoUints\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"v\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"t\",\"type\":\"string\"}],\"name\":\"emitTwoUintsAndTwoStrings\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"emitUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"emitUintAndString\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"v\",\"type\":\"uint256\"}],\"name\":\"emitUintArray\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"v\",\"type\":\"uint256\"}],\"name\":\"emitUintTwice\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emitWithoutArgs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Events.sol\":\"Events\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Events.sol\":{\"keccak256\":\"0x1f12bbd1b991a4eb017f864e7ca09d99cee0730630313442e99fc32a29b28b91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ba3dbc99ecfbb05a95a9a89e8ea74e86f7cbd5441a53fca9f3de94651313d5\",\"dweb:/ipfs/QmYr9HUxkuQxuEwxtLn3f9gB7i2epM95Znt6fRj9xL9T6Y\"]}},\"version\":1}"},"OverrideEventContract":{"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"u","type":"uint256"}],"name":"simpleEvent","type":"event"},{"anonymous":false,"inputs":[],"name":"simpleEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"u","type":"uint256"}],"name":"emitSimpleEventWithUintArg","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"emitSimpleEventWithoutArg","outputs":[],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610188806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632ce136d91461003b5780638e1c72bb14610057575b600080fd5b610055600480360381019061005091906100de565b610061565b005b61005f61009b565b005b7fb2dc4835200bc382210c109031e47d05b37c9244807898f5910a43f961e6719a816040516100909190610116565b60405180910390a150565b7f8922a6ca0f59f137d8e739a3dca968247fca890d147a5006a57da5bc782f6ae960405160405180910390a1565b6000813590506100d88161013b565b92915050565b6000602082840312156100f057600080fd5b60006100fe848285016100c9565b91505092915050565b61011081610131565b82525050565b600060208201905061012b6000830184610107565b92915050565b6000819050919050565b61014481610131565b811461014f57600080fd5b5056fea264697066735822122016232a4f6ea73657adfebd142c8d15f5593e419f600cb1983aba440defd27a5064736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x188 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 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2CE136D9 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x8E1C72BB EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xDE JUMP JUMPDEST PUSH2 0x61 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0x9B JUMP JUMPDEST STOP JUMPDEST PUSH32 0xB2DC4835200BC382210C109031E47D05B37C9244807898F5910A43F961E6719A DUP2 PUSH1 0x40 MLOAD PUSH2 0x90 SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x8922A6CA0F59F137D8E739A3DCA968247FCA890D147A5006A57DA5BC782F6AE9 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD8 DUP2 PUSH2 0x13B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xFE DUP5 DUP3 DUP6 ADD PUSH2 0xC9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0x131 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x144 DUP2 PUSH2 0x131 JUMP JUMPDEST DUP2 EQ PUSH2 0x14F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND 0x23 0x2A 0x4F PUSH15 0xA73657ADFEBD142C8D15F5593E419F PUSH1 0xC 0xB1 SWAP9 GASPRICE 0xBA DIFFICULTY 0xD 0xEF 0xD2 PUSH27 0x5064736F6C63430008040033000000000000000000000000000000 ","sourceMap":"2656:248:1:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:980:4","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:4","statements":[{"nodeType":"YulAssignment","src":"69:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:4"},"nodeType":"YulFunctionCall","src":"78:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"107:26:4"},"nodeType":"YulFunctionCall","src":"107:33:4"},"nodeType":"YulExpressionStatement","src":"107:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:4","type":""}],"src":"7:139:4"},{"body":{"nodeType":"YulBlock","src":"218:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"264:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"273:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"276:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"266:6:4"},"nodeType":"YulFunctionCall","src":"266:12:4"},"nodeType":"YulExpressionStatement","src":"266:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"239:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"248:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"235:3:4"},"nodeType":"YulFunctionCall","src":"235:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"260:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"231:3:4"},"nodeType":"YulFunctionCall","src":"231:32:4"},"nodeType":"YulIf","src":"228:2:4"},{"nodeType":"YulBlock","src":"290:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"305:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"319:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"309:6:4","type":""}]},{"nodeType":"YulAssignment","src":"334:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"369:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"380:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"365:3:4"},"nodeType":"YulFunctionCall","src":"365:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"389:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"344:20:4"},"nodeType":"YulFunctionCall","src":"344:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"334:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"188:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"199:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"211:6:4","type":""}],"src":"152:262:4"},{"body":{"nodeType":"YulBlock","src":"485:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"502:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"525:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"507:17:4"},"nodeType":"YulFunctionCall","src":"507:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"495:6:4"},"nodeType":"YulFunctionCall","src":"495:37:4"},"nodeType":"YulExpressionStatement","src":"495:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"473:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"480:3:4","type":""}],"src":"420:118:4"},{"body":{"nodeType":"YulBlock","src":"642:124:4","statements":[{"nodeType":"YulAssignment","src":"652:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"664:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"675:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"660:3:4"},"nodeType":"YulFunctionCall","src":"660:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"652:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"732:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"745:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"756:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"741:3:4"},"nodeType":"YulFunctionCall","src":"741:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"688:43:4"},"nodeType":"YulFunctionCall","src":"688:71:4"},"nodeType":"YulExpressionStatement","src":"688:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"614:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"626:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"637:4:4","type":""}],"src":"544:222:4"},{"body":{"nodeType":"YulBlock","src":"817:32:4","statements":[{"nodeType":"YulAssignment","src":"827:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"838:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"827:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"799:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"809:7:4","type":""}],"src":"772:77:4"},{"body":{"nodeType":"YulBlock","src":"898:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"955:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"964:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"967:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"957:6:4"},"nodeType":"YulFunctionCall","src":"957:12:4"},"nodeType":"YulExpressionStatement","src":"957:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"921:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"946:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"928:17:4"},"nodeType":"YulFunctionCall","src":"928:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"918:2:4"},"nodeType":"YulFunctionCall","src":"918:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"911:6:4"},"nodeType":"YulFunctionCall","src":"911:43:4"},"nodeType":"YulIf","src":"908:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"891:5:4","type":""}],"src":"855:122:4"}]},"contents":"{\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100365760003560e01c80632ce136d91461003b5780638e1c72bb14610057575b600080fd5b610055600480360381019061005091906100de565b610061565b005b61005f61009b565b005b7fb2dc4835200bc382210c109031e47d05b37c9244807898f5910a43f961e6719a816040516100909190610116565b60405180910390a150565b7f8922a6ca0f59f137d8e739a3dca968247fca890d147a5006a57da5bc782f6ae960405160405180910390a1565b6000813590506100d88161013b565b92915050565b6000602082840312156100f057600080fd5b60006100fe848285016100c9565b91505092915050565b61011081610131565b82525050565b600060208201905061012b6000830184610107565b92915050565b6000819050919050565b61014481610131565b811461014f57600080fd5b5056fea264697066735822122016232a4f6ea73657adfebd142c8d15f5593e419f600cb1983aba440defd27a5064736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x2CE136D9 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x8E1C72BB EQ PUSH2 0x57 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x55 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x50 SWAP2 SWAP1 PUSH2 0xDE JUMP JUMPDEST PUSH2 0x61 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x5F PUSH2 0x9B JUMP JUMPDEST STOP JUMPDEST PUSH32 0xB2DC4835200BC382210C109031E47D05B37C9244807898F5910A43F961E6719A DUP2 PUSH1 0x40 MLOAD PUSH2 0x90 SWAP2 SWAP1 PUSH2 0x116 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP JUMP JUMPDEST PUSH32 0x8922A6CA0F59F137D8E739A3DCA968247FCA890D147A5006A57DA5BC782F6AE9 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xD8 DUP2 PUSH2 0x13B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xFE DUP5 DUP3 DUP6 ADD PUSH2 0xC9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x110 DUP2 PUSH2 0x131 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x12B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x107 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x144 DUP2 PUSH2 0x131 JUMP JUMPDEST DUP2 EQ PUSH2 0x14F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 AND 0x23 0x2A 0x4F PUSH15 0xA73657ADFEBD142C8D15F5593E419F PUSH1 0xC 0xB1 SWAP9 GASPRICE 0xBA DIFFICULTY 0xD 0xEF 0xD2 PUSH27 0x5064736F6C63430008040033000000000000000000000000000000 ","sourceMap":"2656:248:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2744:81;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2829:73;;;:::i;:::-;;2744:81;2806:14;2818:1;2806:14;;;;;;:::i;:::-;;;;;;;;2744:81;:::o;2829:73::-;2884:13;;;;;;;;;;2829:73::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:262::-;211:6;260:2;248:9;239:7;235:23;231:32;228:2;;;276:1;273;266:12;228:2;319:1;344:53;389:7;380:6;369:9;365:22;344:53;:::i;:::-;334:63;;290:117;218:196;;;;:::o;420:118::-;507:24;525:5;507:24;:::i;:::-;502:3;495:37;485:53;;:::o;544:222::-;637:4;675:2;664:9;660:18;652:26;;688:71;756:1;745:9;741:17;732:6;688:71;:::i;:::-;642:124;;;;:::o;772:77::-;809:7;838:5;827:16;;817:32;;;:::o;855:122::-;928:24;946:5;928:24;:::i;:::-;921:5;918:35;908:2;;967:1;964;957:12;908:2;898:79;:::o"},"methodIdentifiers":{"emitSimpleEventWithUintArg(uint256)":"2ce136d9","emitSimpleEventWithoutArg()":"8e1c72bb"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"simpleEvent\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"simpleEvent\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"u\",\"type\":\"uint256\"}],\"name\":\"emitSimpleEventWithUintArg\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"emitSimpleEventWithoutArg\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Events.sol\":\"OverrideEventContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Events.sol\":{\"keccak256\":\"0x1f12bbd1b991a4eb017f864e7ca09d99cee0730630313442e99fc32a29b28b91\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c8ba3dbc99ecfbb05a95a9a89e8ea74e86f7cbd5441a53fca9f3de94651313d5\",\"dweb:/ipfs/QmYr9HUxkuQxuEwxtLn3f9gB7i2epM95Znt6fRj9xL9T6Y\"]}},\"version\":1}"}},"contracts/Matchers.sol":{"AnotherMatchersContract":{"abi":[{"inputs":[],"name":"YetAnotherCustomError","type":"error"},{"inputs":[],"name":"revertWithYetAnotherCustomError","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revertWithYetAnotherCustomErrorView","outputs":[],"stateMutability":"pure","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b50610182806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806340d83b241461003b5780634b2bd7e914610045575b600080fd5b61004361004f565b005b61004d610081565b005b6040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080815480929190610093906100d4565b91905055506040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000819050919050565b60006100df826100ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101125761011161011d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220188b4117d3c1f35f2fcbff7fbf51ee28f08c8abd18e3796ccd1d2fbc8c862e3f64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x182 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 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40D83B24 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x4B2BD7E9 EQ PUSH2 0x45 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x4F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x4D PUSH2 0x81 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xFF05E87500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x93 SWAP1 PUSH2 0xD4 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD PUSH32 0xFF05E87500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDF DUP3 PUSH2 0xCA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x112 JUMPI PUSH2 0x111 PUSH2 0x11D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR DUP12 COINBASE OR 0xD3 0xC1 RETURN 0x5F 0x2F 0xCB SELFDESTRUCT PUSH32 0xBF51EE28F08C8ABD18E3796CCD1D2FBC8C862E3F64736F6C6343000804003300 ","sourceMap":"2776:288:2:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:512:4","statements":[{"body":{"nodeType":"YulBlock","src":"52:32:4","statements":[{"nodeType":"YulAssignment","src":"62:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"73:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"62:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"34:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"44:7:4","type":""}],"src":"7:77:4"},{"body":{"nodeType":"YulBlock","src":"133:190:4","statements":[{"nodeType":"YulAssignment","src":"143:33:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"170:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"152:17:4"},"nodeType":"YulFunctionCall","src":"152:24:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"143:5:4"}]},{"body":{"nodeType":"YulBlock","src":"266:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"268:16:4"},"nodeType":"YulFunctionCall","src":"268:18:4"},"nodeType":"YulExpressionStatement","src":"268:18:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"191:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"198:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"188:2:4"},"nodeType":"YulFunctionCall","src":"188:77:4"},"nodeType":"YulIf","src":"185:2:4"},{"nodeType":"YulAssignment","src":"297:20:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"308:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"315:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"304:3:4"},"nodeType":"YulFunctionCall","src":"304:13:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"297:3:4"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"119:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"129:3:4","type":""}],"src":"90:233:4"},{"body":{"nodeType":"YulBlock","src":"357:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"374:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"377:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"367:6:4"},"nodeType":"YulFunctionCall","src":"367:88:4"},"nodeType":"YulExpressionStatement","src":"367:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"471:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"474:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"464:6:4"},"nodeType":"YulFunctionCall","src":"464:15:4"},"nodeType":"YulExpressionStatement","src":"464:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"495:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"498:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"488:6:4"},"nodeType":"YulFunctionCall","src":"488:15:4"},"nodeType":"YulExpressionStatement","src":"488:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"329:180:4"}]},"contents":"{\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100365760003560e01c806340d83b241461003b5780634b2bd7e914610045575b600080fd5b61004361004f565b005b61004d610081565b005b6040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080815480929190610093906100d4565b91905055506040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000819050919050565b60006100df826100ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101125761011161011d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220188b4117d3c1f35f2fcbff7fbf51ee28f08c8abd18e3796ccd1d2fbc8c862e3f64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40D83B24 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x4B2BD7E9 EQ PUSH2 0x45 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x4F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x4D PUSH2 0x81 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xFF05E87500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x93 SWAP1 PUSH2 0xD4 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD PUSH32 0xFF05E87500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDF DUP3 PUSH2 0xCA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x112 JUMPI PUSH2 0x111 PUSH2 0x11D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR DUP12 COINBASE OR 0xD3 0xC1 RETURN 0x5F 0x2F 0xCB SELFDESTRUCT PUSH32 0xBF51EE28F08C8ABD18E3796CCD1D2FBC8C862E3F64736F6C6343000804003300 ","sourceMap":"2776:288:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2962:100;;;:::i;:::-;;2858;;;:::i;:::-;;2962;3034:23;;;;;;;;;;;;;;2858:100;2914:1;;:3;;;;;;;;;:::i;:::-;;;;;;2930:23;;;;;;;;;;;;;;7:77:4;44:7;73:5;62:16;;52:32;;;:::o;90:233::-;129:3;152:24;170:5;152:24;:::i;:::-;143:33;;198:66;191:5;188:77;185:2;;;268:18;;:::i;:::-;185:2;315:1;308:5;304:13;297:20;;133:190;;;:::o;329:180::-;377:77;374:1;367:88;474:4;471:1;464:15;498:4;495:1;488:15"},"methodIdentifiers":{"revertWithYetAnotherCustomError()":"4b2bd7e9","revertWithYetAnotherCustomErrorView()":"40d83b24"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"YetAnotherCustomError\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"revertWithYetAnotherCustomError\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWithYetAnotherCustomErrorView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Matchers.sol\":\"AnotherMatchersContract\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Matchers.sol\":{\"keccak256\":\"0x5a69001d60d8f2498c88a26a86619900f4a7d1e7443adcb5f6bf73b112e659df\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ca96217e25bd9b0beccc5038bcde4bb32fc71f7828c01e2254f7c6eb06b2ec1c\",\"dweb:/ipfs/QmaHs3KgdszUPBCWbYsxriReGFePSG1AE23BxSCa98cnT9\"]}},\"version\":1}"},"Matchers":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AnotherCustomError","type":"error"},{"inputs":[{"internalType":"int256","name":"","type":"int256"}],"name":"CustomErrorWithInt","type":"error"},{"inputs":[{"components":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"internalType":"struct Matchers.Pair","name":"","type":"tuple"}],"name":"CustomErrorWithPair","type":"error"},{"inputs":[{"internalType":"uint256","name":"nameToForceEthersToUseAnArrayLikeWithNamedProperties","type":"uint256"}],"name":"CustomErrorWithUint","type":"error"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"string","name":"","type":"string"}],"name":"CustomErrorWithUintAndString","type":"error"},{"inputs":[],"name":"SomeCustomError","type":"error"},{"anonymous":false,"inputs":[],"name":"SomeEvent","type":"event"},{"inputs":[],"name":"panicAssert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"panicAssertView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"revertWithAnotherContractCustomError","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revertWithAnotherContractCustomErrorView","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[],"name":"revertWithAnotherCustomError","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revertWithAnotherCustomErrorView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"int256","name":"i","type":"int256"}],"name":"revertWithCustomErrorWithInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int256","name":"i","type":"int256"}],"name":"revertWithCustomErrorWithIntView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"revertWithCustomErrorWithPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"b","type":"uint256"}],"name":"revertWithCustomErrorWithPairView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"}],"name":"revertWithCustomErrorWithUint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"},{"internalType":"string","name":"s","type":"string"}],"name":"revertWithCustomErrorWithUintAndString","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"},{"internalType":"string","name":"s","type":"string"}],"name":"revertWithCustomErrorWithUintAndStringView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"n","type":"uint256"}],"name":"revertWithCustomErrorWithUintView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"revertWithSomeCustomError","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revertWithSomeCustomErrorView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"name":"revertsWith","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"name":"revertsWithView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"revertsWithoutReason","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"revertsWithoutReasonView","outputs":[],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"succeeds","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"succeedsView","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"608060405234801561001057600080fd5b5060405161001d9061007f565b604051809103906000f080158015610039573d6000803e3d6000fd5b50600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008c565b6101a280610e8a83390190565b610def8061009b6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806373d2ea85116100b8578063aac014e01161007c578063aac014e01461028b578063b6bbe06114610295578063bad92aa91461029f578063e0a03812146102a9578063fe276a34146102c5578063ffb4746b146102e157610142565b806373d2ea851461022357806374afd4521461023f578063772f243a146102495780637c3cb0af146102535780638f9330301461026f57610142565b80634b5bbf6a1161010a5780634b5bbf6a146101c157806358a1d1ed146101cb5780635b94e31e146101d5578063622051f1146101df5780636f1fdc31146101e95780636fc588d21461020557610142565b80631b4f3f3d146101475780631f542cf3146101515780633ba4178b1461016d578063467e3d371461018957806347c56769146101a5575b600080fd5b61014f6102eb565b005b61016b60048036038101906101669190610a66565b61030f565b005b61018760048036038101906101829190610a12565b610360565b005b6101a3600480360381019061019e91906109a8565b61039f565b005b6101bf60048036038101906101ba919061097f565b6103e7565b005b6101c9610424565b005b6101d361046d565b005b6101dd61047a565b005b6101e76104b1565b005b61020360048036038101906101fe91906109a8565b610533565b005b61020d610592565b60405161021a9190610b8f565b60405180910390f35b61023d600480360381019061023891906109e9565b61059b565b005b6102476105ef565b005b610251610608565b005b61026d600480360381019061026891906109e9565b6106a3565b005b6102896004803603810190610284919061097f565b6106e0565b005b610293610734565b005b61029d610766565b005b6102a76107b4565b005b6102c360048036038101906102be9190610a66565b6107fd565b005b6102df60048036038101906102da9190610a12565b610865565b005b6102e96108bb565b005b6000808154809291906102fd90610cd3565b9190505550600061030d57600080fd5b565b6040518060400160405280838152602001828152506040517fdecab0e70000000000000000000000000000000000000000000000000000000081526004016103579190610b74565b60405180910390fd5b81816040517fa92ee8e3000000000000000000000000000000000000000000000000000000008152600401610396929190610baa565b60405180910390fd5b600081906103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da9190610b52565b60405180910390fd5b5050565b806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161041b9190610b37565b60405180910390fd5b60008081548092919061043690610cd3565b91905055506040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061047857600080fd5b565b60006104af577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340d83b246040518163ffffffff1660e01b815260040160006040518083038186803b15801561051957600080fd5b505afa15801561052d573d6000803e3d6000fd5b50505050565b60008081548092919061054590610cd3565b91905055506000819061058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105859190610b52565b60405180910390fd5b5050565b60008054905090565b6000808154809291906105ad90610cd3565b9190505550806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016105e69190610b8f565b60405180910390fd5b60008081548092919061060190610cd3565b9190505550565b60008081548092919061061a90610cd3565b9190505550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2bd7e96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561068957600080fd5b505af115801561069d573d6000803e3d6000fd5b50505050565b806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016106d79190610b8f565b60405180910390fd5b6000808154809291906106f290610cd3565b9190505550806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161072b9190610b37565b60405180910390fd5b6040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061077890610cd3565b919050555060006107b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b6000808154809291906107c690610cd3565b91905055506040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061080f90610cd3565b91905055506040518060400160405280838152602001828152506040517fdecab0e700000000000000000000000000000000000000000000000000000000815260040161085c9190610b74565b60405180910390fd5b60008081548092919061087790610cd3565b919050555081816040517fa92ee8e30000000000000000000000000000000000000000000000000000000081526004016108b2929190610baa565b60405180910390fd5b6040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109006108fb84610bff565b610bda565b90508281526020810184848401111561091857600080fd5b610923848285610c60565b509392505050565b60008135905061093a81610d8b565b92915050565b600082601f83011261095157600080fd5b81356109618482602086016108ed565b91505092915050565b60008135905061097981610da2565b92915050565b60006020828403121561099157600080fd5b600061099f8482850161092b565b91505092915050565b6000602082840312156109ba57600080fd5b600082013567ffffffffffffffff8111156109d457600080fd5b6109e084828501610940565b91505092915050565b6000602082840312156109fb57600080fd5b6000610a098482850161096a565b91505092915050565b60008060408385031215610a2557600080fd5b6000610a338582860161096a565b925050602083013567ffffffffffffffff811115610a5057600080fd5b610a5c85828601610940565b9150509250929050565b60008060408385031215610a7957600080fd5b6000610a878582860161096a565b9250506020610a988582860161096a565b9150509250929050565b610aab81610c4c565b82525050565b6000610abc82610c30565b610ac68185610c3b565b9350610ad6818560208601610c6f565b610adf81610d7a565b840191505092915050565b604082016000820151610b006000850182610b19565b506020820151610b136020850182610b19565b50505050565b610b2281610c56565b82525050565b610b3181610c56565b82525050565b6000602082019050610b4c6000830184610aa2565b92915050565b60006020820190508181036000830152610b6c8184610ab1565b905092915050565b6000604082019050610b896000830184610aea565b92915050565b6000602082019050610ba46000830184610b28565b92915050565b6000604082019050610bbf6000830185610b28565b8181036020830152610bd18184610ab1565b90509392505050565b6000610be4610bf5565b9050610bf08282610ca2565b919050565b6000604051905090565b600067ffffffffffffffff821115610c1a57610c19610d4b565b5b610c2382610d7a565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610c8d578082015181840152602081019050610c72565b83811115610c9c576000848401525b50505050565b610cab82610d7a565b810181811067ffffffffffffffff82111715610cca57610cc9610d4b565b5b80604052505050565b6000610cde82610c56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d1157610d10610d1c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b610d9481610c4c565b8114610d9f57600080fd5b50565b610dab81610c56565b8114610db657600080fd5b5056fea264697066735822122025e4c9eca28af81eeb16cfbb3832355e24c64c7eae221a5034159a671d61281464736f6c63430008040033608060405234801561001057600080fd5b50610182806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806340d83b241461003b5780634b2bd7e914610045575b600080fd5b61004361004f565b005b61004d610081565b005b6040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080815480929190610093906100d4565b91905055506040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000819050919050565b60006100df826100ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101125761011161011d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220188b4117d3c1f35f2fcbff7fbf51ee28f08c8abd18e3796ccd1d2fbc8c862e3f64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x1D SWAP1 PUSH2 0x7F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH2 0x39 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH2 0x8C JUMP JUMPDEST PUSH2 0x1A2 DUP1 PUSH2 0xE8A DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST PUSH2 0xDEF DUP1 PUSH2 0x9B 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 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x73D2EA85 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xAAC014E0 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xAAC014E0 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0xB6BBE061 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0xBAD92AA9 EQ PUSH2 0x29F JUMPI DUP1 PUSH4 0xE0A03812 EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0xFE276A34 EQ PUSH2 0x2C5 JUMPI DUP1 PUSH4 0xFFB4746B EQ PUSH2 0x2E1 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x73D2EA85 EQ PUSH2 0x223 JUMPI DUP1 PUSH4 0x74AFD452 EQ PUSH2 0x23F JUMPI DUP1 PUSH4 0x772F243A EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x7C3CB0AF EQ PUSH2 0x253 JUMPI DUP1 PUSH4 0x8F933030 EQ PUSH2 0x26F JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x4B5BBF6A GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x4B5BBF6A EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x58A1D1ED EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x5B94E31E EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x622051F1 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0x6F1FDC31 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x6FC588D2 EQ PUSH2 0x205 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x1B4F3F3D EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x1F542CF3 EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x3BA4178B EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0x467E3D37 EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0x47C56769 EQ PUSH2 0x1A5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F PUSH2 0x2EB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x166 SWAP2 SWAP1 PUSH2 0xA66 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x187 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x182 SWAP2 SWAP1 PUSH2 0xA12 JUMP JUMPDEST PUSH2 0x360 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19E SWAP2 SWAP1 PUSH2 0x9A8 JUMP JUMPDEST PUSH2 0x39F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1BA SWAP2 SWAP1 PUSH2 0x97F JUMP JUMPDEST PUSH2 0x3E7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C9 PUSH2 0x424 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D3 PUSH2 0x46D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1DD PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E7 PUSH2 0x4B1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x203 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1FE SWAP2 SWAP1 PUSH2 0x9A8 JUMP JUMPDEST PUSH2 0x533 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x20D PUSH2 0x592 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21A SWAP2 SWAP1 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x238 SWAP2 SWAP1 PUSH2 0x9E9 JUMP JUMPDEST PUSH2 0x59B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x247 PUSH2 0x5EF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x251 PUSH2 0x608 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x9E9 JUMP JUMPDEST PUSH2 0x6A3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x284 SWAP2 SWAP1 PUSH2 0x97F JUMP JUMPDEST PUSH2 0x6E0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x293 PUSH2 0x734 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x29D PUSH2 0x766 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A7 PUSH2 0x7B4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0xA66 JUMP JUMPDEST PUSH2 0x7FD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2DF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0xA12 JUMP JUMPDEST PUSH2 0x865 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2E9 PUSH2 0x8BB JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x2FD SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH32 0xDECAB0E700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x357 SWAP2 SWAP1 PUSH2 0xB74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH32 0xA92EE8E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x396 SWAP3 SWAP2 SWAP1 PUSH2 0xBAA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 PUSH2 0x3E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3DA SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0xCDD7A0CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41B SWAP2 SWAP1 PUSH2 0xB37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x436 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD PUSH32 0xD2C097A600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4AF JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40D83B24 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x519 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x52D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x545 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 DUP2 SWAP1 PUSH2 0x58E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x585 SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x5AD SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD PUSH32 0x1F4D5D200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E6 SWAP2 SWAP1 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x601 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x61A SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4B2BD7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x689 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x69D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0x1F4D5D200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6D7 SWAP2 SWAP1 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x6F2 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD PUSH32 0xCDD7A0CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x72B SWAP2 SWAP1 PUSH2 0xB37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xD2C097A600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x778 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH2 0x7B2 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x7C6 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD PUSH32 0xBD3D39C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x80F SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH32 0xDECAB0E700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x85C SWAP2 SWAP1 PUSH2 0xB74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x877 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP2 DUP2 PUSH1 0x40 MLOAD PUSH32 0xA92EE8E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B2 SWAP3 SWAP2 SWAP1 PUSH2 0xBAA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xBD3D39C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x900 PUSH2 0x8FB DUP5 PUSH2 0xBFF JUMP JUMPDEST PUSH2 0xBDA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x918 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x923 DUP5 DUP3 DUP6 PUSH2 0xC60 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x93A DUP2 PUSH2 0xD8B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x951 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x961 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8ED JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x979 DUP2 PUSH2 0xDA2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x99F DUP5 DUP3 DUP6 ADD PUSH2 0x92B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9E0 DUP5 DUP3 DUP6 ADD PUSH2 0x940 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA09 DUP5 DUP3 DUP6 ADD PUSH2 0x96A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA33 DUP6 DUP3 DUP7 ADD PUSH2 0x96A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5C DUP6 DUP3 DUP7 ADD PUSH2 0x940 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA87 DUP6 DUP3 DUP7 ADD PUSH2 0x96A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA98 DUP6 DUP3 DUP7 ADD PUSH2 0x96A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xAAB DUP2 PUSH2 0xC4C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xABC DUP3 PUSH2 0xC30 JUMP JUMPDEST PUSH2 0xAC6 DUP2 DUP6 PUSH2 0xC3B JUMP JUMPDEST SWAP4 POP PUSH2 0xAD6 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC6F JUMP JUMPDEST PUSH2 0xADF DUP2 PUSH2 0xD7A JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0xB00 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xB19 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0xB13 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0xB19 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xB22 DUP2 PUSH2 0xC56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB31 DUP2 PUSH2 0xC56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB4C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAA2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB6C DUP2 DUP5 PUSH2 0xAB1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xB89 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBA4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xBBF PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xB28 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xBD1 DUP2 DUP5 PUSH2 0xAB1 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE4 PUSH2 0xBF5 JUMP JUMPDEST SWAP1 POP PUSH2 0xBF0 DUP3 DUP3 PUSH2 0xCA2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC1A JUMPI PUSH2 0xC19 PUSH2 0xD4B JUMP JUMPDEST JUMPDEST PUSH2 0xC23 DUP3 PUSH2 0xD7A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC8D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC72 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC9C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xCAB DUP3 PUSH2 0xD7A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xCCA JUMPI PUSH2 0xCC9 PUSH2 0xD4B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCDE DUP3 PUSH2 0xC56 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0xD11 JUMPI PUSH2 0xD10 PUSH2 0xD1C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD94 DUP2 PUSH2 0xC4C JUMP JUMPDEST DUP2 EQ PUSH2 0xD9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xDAB DUP2 PUSH2 0xC56 JUMP JUMPDEST DUP2 EQ PUSH2 0xDB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x25 0xE4 0xC9 0xEC LOG2 DUP11 0xF8 0x1E 0xEB AND 0xCF 0xBB CODESIZE ORIGIN CALLDATALOAD 0x5E 0x24 0xC6 0x4C PUSH31 0xAE221A5034159A671D61281464736F6C634300080400336080604052348015 PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x182 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 0x36 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x40D83B24 EQ PUSH2 0x3B JUMPI DUP1 PUSH4 0x4B2BD7E9 EQ PUSH2 0x45 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x43 PUSH2 0x4F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x4D PUSH2 0x81 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xFF05E87500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x93 SWAP1 PUSH2 0xD4 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD PUSH32 0xFF05E87500000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDF DUP3 PUSH2 0xCA JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0x112 JUMPI PUSH2 0x111 PUSH2 0x11D JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 XOR DUP12 COINBASE OR 0xD3 0xC1 RETURN 0x5F 0x2F 0xCB SELFDESTRUCT PUSH32 0xBF51EE28F08C8ABD18E3796CCD1D2FBC8C862E3F64736F6C6343000804003300 ","sourceMap":"65:2709:2:-:0;;;465:73;;;;;;;;;;504:29;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;486:15;;:47;;;;;;;;;;;;;;;;;;65:2709;;;;;;;;;;:::o;:::-;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:8290:4","statements":[{"body":{"nodeType":"YulBlock","src":"91:261:4","statements":[{"nodeType":"YulAssignment","src":"101:75:4","value":{"arguments":[{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"168:6:4"}],"functionName":{"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulIdentifier","src":"126:41:4"},"nodeType":"YulFunctionCall","src":"126:49:4"}],"functionName":{"name":"allocate_memory","nodeType":"YulIdentifier","src":"110:15:4"},"nodeType":"YulFunctionCall","src":"110:66:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"101:5:4"}]},{"expression":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"192:5:4"},{"name":"length","nodeType":"YulIdentifier","src":"199:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"185:6:4"},"nodeType":"YulFunctionCall","src":"185:21:4"},"nodeType":"YulExpressionStatement","src":"185:21:4"},{"nodeType":"YulVariableDeclaration","src":"215:27:4","value":{"arguments":[{"name":"array","nodeType":"YulIdentifier","src":"230:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"237:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"226:3:4"},"nodeType":"YulFunctionCall","src":"226:16:4"},"variables":[{"name":"dst","nodeType":"YulTypedName","src":"219:3:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"280:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"289:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"292:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"282:6:4"},"nodeType":"YulFunctionCall","src":"282:12:4"},"nodeType":"YulExpressionStatement","src":"282:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"261:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"266:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"257:3:4"},"nodeType":"YulFunctionCall","src":"257:16:4"},{"name":"end","nodeType":"YulIdentifier","src":"275:3:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"254:2:4"},"nodeType":"YulFunctionCall","src":"254:25:4"},"nodeType":"YulIf","src":"251:2:4"},{"expression":{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"329:3:4"},{"name":"dst","nodeType":"YulIdentifier","src":"334:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"339:6:4"}],"functionName":{"name":"copy_calldata_to_memory","nodeType":"YulIdentifier","src":"305:23:4"},"nodeType":"YulFunctionCall","src":"305:41:4"},"nodeType":"YulExpressionStatement","src":"305:41:4"}]},"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"64:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"69:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"77:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"85:5:4","type":""}],"src":"7:345:4"},{"body":{"nodeType":"YulBlock","src":"409:86:4","statements":[{"nodeType":"YulAssignment","src":"419:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"441:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"428:12:4"},"nodeType":"YulFunctionCall","src":"428:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"419:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"483:5:4"}],"functionName":{"name":"validator_revert_t_int256","nodeType":"YulIdentifier","src":"457:25:4"},"nodeType":"YulFunctionCall","src":"457:32:4"},"nodeType":"YulExpressionStatement","src":"457:32:4"}]},"name":"abi_decode_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"387:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"395:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"403:5:4","type":""}],"src":"358:137:4"},{"body":{"nodeType":"YulBlock","src":"577:211:4","statements":[{"body":{"nodeType":"YulBlock","src":"626:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"635:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"638:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"628:6:4"},"nodeType":"YulFunctionCall","src":"628:12:4"},"nodeType":"YulExpressionStatement","src":"628:12:4"}]},"condition":{"arguments":[{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"605:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"613:4:4","type":"","value":"0x1f"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"601:3:4"},"nodeType":"YulFunctionCall","src":"601:17:4"},{"name":"end","nodeType":"YulIdentifier","src":"620:3:4"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"597:3:4"},"nodeType":"YulFunctionCall","src":"597:27:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"590:6:4"},"nodeType":"YulFunctionCall","src":"590:35:4"},"nodeType":"YulIf","src":"587:2:4"},{"nodeType":"YulVariableDeclaration","src":"651:34:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"678:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"665:12:4"},"nodeType":"YulFunctionCall","src":"665:20:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"655:6:4","type":""}]},{"nodeType":"YulAssignment","src":"694:88:4","value":{"arguments":[{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"755:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"763:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"751:3:4"},"nodeType":"YulFunctionCall","src":"751:17:4"},{"name":"length","nodeType":"YulIdentifier","src":"770:6:4"},{"name":"end","nodeType":"YulIdentifier","src":"778:3:4"}],"functionName":{"name":"abi_decode_available_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"703:47:4"},"nodeType":"YulFunctionCall","src":"703:79:4"},"variableNames":[{"name":"array","nodeType":"YulIdentifier","src":"694:5:4"}]}]},"name":"abi_decode_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"555:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"563:3:4","type":""}],"returnVariables":[{"name":"array","nodeType":"YulTypedName","src":"571:5:4","type":""}],"src":"515:273:4"},{"body":{"nodeType":"YulBlock","src":"846:87:4","statements":[{"nodeType":"YulAssignment","src":"856:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"878:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"865:12:4"},"nodeType":"YulFunctionCall","src":"865:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"856:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"921:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"894:26:4"},"nodeType":"YulFunctionCall","src":"894:33:4"},"nodeType":"YulExpressionStatement","src":"894:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"824:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"832:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"840:5:4","type":""}],"src":"794:139:4"},{"body":{"nodeType":"YulBlock","src":"1004:195:4","statements":[{"body":{"nodeType":"YulBlock","src":"1050:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1059:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1062:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1052:6:4"},"nodeType":"YulFunctionCall","src":"1052:12:4"},"nodeType":"YulExpressionStatement","src":"1052:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1025:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1034:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1021:3:4"},"nodeType":"YulFunctionCall","src":"1021:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1046:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1017:3:4"},"nodeType":"YulFunctionCall","src":"1017:32:4"},"nodeType":"YulIf","src":"1014:2:4"},{"nodeType":"YulBlock","src":"1076:116:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1091:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1105:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1095:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1120:62:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1154:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1165:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1150:3:4"},"nodeType":"YulFunctionCall","src":"1150:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1174:7:4"}],"functionName":{"name":"abi_decode_t_int256","nodeType":"YulIdentifier","src":"1130:19:4"},"nodeType":"YulFunctionCall","src":"1130:52:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1120:6:4"}]}]}]},"name":"abi_decode_tuple_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"974:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"985:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"997:6:4","type":""}],"src":"939:260:4"},{"body":{"nodeType":"YulBlock","src":"1281:299:4","statements":[{"body":{"nodeType":"YulBlock","src":"1327:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1336:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1339:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1329:6:4"},"nodeType":"YulFunctionCall","src":"1329:12:4"},"nodeType":"YulExpressionStatement","src":"1329:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1302:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1311:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1298:3:4"},"nodeType":"YulFunctionCall","src":"1298:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1323:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1294:3:4"},"nodeType":"YulFunctionCall","src":"1294:32:4"},"nodeType":"YulIf","src":"1291:2:4"},{"nodeType":"YulBlock","src":"1353:220:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1368:45:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1399:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"1410:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1395:3:4"},"nodeType":"YulFunctionCall","src":"1395:17:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"1382:12:4"},"nodeType":"YulFunctionCall","src":"1382:31:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1372:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"1460:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1469:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1472:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1462:6:4"},"nodeType":"YulFunctionCall","src":"1462:12:4"},"nodeType":"YulExpressionStatement","src":"1462:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"1432:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"1440:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"1429:2:4"},"nodeType":"YulFunctionCall","src":"1429:30:4"},"nodeType":"YulIf","src":"1426:2:4"},{"nodeType":"YulAssignment","src":"1490:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1535:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1546:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1531:3:4"},"nodeType":"YulFunctionCall","src":"1531:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1555:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"1500:30:4"},"nodeType":"YulFunctionCall","src":"1500:63:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1490:6:4"}]}]}]},"name":"abi_decode_tuple_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1251:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1262:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1274:6:4","type":""}],"src":"1205:375:4"},{"body":{"nodeType":"YulBlock","src":"1652:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"1698:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1707:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1710:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1700:6:4"},"nodeType":"YulFunctionCall","src":"1700:12:4"},"nodeType":"YulExpressionStatement","src":"1700:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1673:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1682:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1669:3:4"},"nodeType":"YulFunctionCall","src":"1669:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1694:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1665:3:4"},"nodeType":"YulFunctionCall","src":"1665:32:4"},"nodeType":"YulIf","src":"1662:2:4"},{"nodeType":"YulBlock","src":"1724:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1739:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1753:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1743:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1768:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1803:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1814:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1799:3:4"},"nodeType":"YulFunctionCall","src":"1799:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1823:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1778:20:4"},"nodeType":"YulFunctionCall","src":"1778:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1768:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1622:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1633:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1645:6:4","type":""}],"src":"1586:262:4"},{"body":{"nodeType":"YulBlock","src":"1947:427:4","statements":[{"body":{"nodeType":"YulBlock","src":"1993:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2002:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2005:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1995:6:4"},"nodeType":"YulFunctionCall","src":"1995:12:4"},"nodeType":"YulExpressionStatement","src":"1995:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1968:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1977:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1964:3:4"},"nodeType":"YulFunctionCall","src":"1964:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1989:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1960:3:4"},"nodeType":"YulFunctionCall","src":"1960:32:4"},"nodeType":"YulIf","src":"1957:2:4"},{"nodeType":"YulBlock","src":"2019:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2034:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2048:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2038:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2063:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2098:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2109:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2094:3:4"},"nodeType":"YulFunctionCall","src":"2094:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2118:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2073:20:4"},"nodeType":"YulFunctionCall","src":"2073:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2063:6:4"}]}]},{"nodeType":"YulBlock","src":"2146:221:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2161:46:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2192:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"2203:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2188:3:4"},"nodeType":"YulFunctionCall","src":"2188:18:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"2175:12:4"},"nodeType":"YulFunctionCall","src":"2175:32:4"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2165:6:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"2254:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2263:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2266:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2256:6:4"},"nodeType":"YulFunctionCall","src":"2256:12:4"},"nodeType":"YulExpressionStatement","src":"2256:12:4"}]},"condition":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"2226:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"2234:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"2223:2:4"},"nodeType":"YulFunctionCall","src":"2223:30:4"},"nodeType":"YulIf","src":"2220:2:4"},{"nodeType":"YulAssignment","src":"2284:73:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2329:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2340:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2325:3:4"},"nodeType":"YulFunctionCall","src":"2325:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2349:7:4"}],"functionName":{"name":"abi_decode_t_string_memory_ptr","nodeType":"YulIdentifier","src":"2294:30:4"},"nodeType":"YulFunctionCall","src":"2294:63:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2284:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1909:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1920:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1932:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1940:6:4","type":""}],"src":"1854:520:4"},{"body":{"nodeType":"YulBlock","src":"2463:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"2509:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"2518:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"2521:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"2511:6:4"},"nodeType":"YulFunctionCall","src":"2511:12:4"},"nodeType":"YulExpressionStatement","src":"2511:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"2484:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"2493:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"2480:3:4"},"nodeType":"YulFunctionCall","src":"2480:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"2505:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"2476:3:4"},"nodeType":"YulFunctionCall","src":"2476:32:4"},"nodeType":"YulIf","src":"2473:2:4"},{"nodeType":"YulBlock","src":"2535:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2550:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2564:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2554:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2579:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2614:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2625:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2610:3:4"},"nodeType":"YulFunctionCall","src":"2610:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2634:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2589:20:4"},"nodeType":"YulFunctionCall","src":"2589:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"2579:6:4"}]}]},{"nodeType":"YulBlock","src":"2662:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2677:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"2691:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"2681:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2707:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"2742:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"2753:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2738:3:4"},"nodeType":"YulFunctionCall","src":"2738:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"2762:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"2717:20:4"},"nodeType":"YulFunctionCall","src":"2717:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"2707:6:4"}]}]}]},"name":"abi_decode_tuple_t_uint256t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2425:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"2436:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"2448:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"2456:6:4","type":""}],"src":"2380:407:4"},{"body":{"nodeType":"YulBlock","src":"2856:52:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2873:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2895:5:4"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"2878:16:4"},"nodeType":"YulFunctionCall","src":"2878:23:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2866:6:4"},"nodeType":"YulFunctionCall","src":"2866:36:4"},"nodeType":"YulExpressionStatement","src":"2866:36:4"}]},"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2844:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2851:3:4","type":""}],"src":"2793:115:4"},{"body":{"nodeType":"YulBlock","src":"3006:272:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3016:53:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3063:5:4"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"3030:32:4"},"nodeType":"YulFunctionCall","src":"3030:39:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"3020:6:4","type":""}]},{"nodeType":"YulAssignment","src":"3078:78:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3144:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"3149:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3085:58:4"},"nodeType":"YulFunctionCall","src":"3085:71:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"3078:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3191:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"3198:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3187:3:4"},"nodeType":"YulFunctionCall","src":"3187:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"3205:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"3210:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"3165:21:4"},"nodeType":"YulFunctionCall","src":"3165:52:4"},"nodeType":"YulExpressionStatement","src":"3165:52:4"},{"nodeType":"YulAssignment","src":"3226:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3237:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"3264:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"3242:21:4"},"nodeType":"YulFunctionCall","src":"3242:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3233:3:4"},"nodeType":"YulFunctionCall","src":"3233:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3226:3:4"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2987:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2994:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"3002:3:4","type":""}],"src":"2914:364:4"},{"body":{"nodeType":"YulBlock","src":"3444:385:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3454:26:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3470:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"3475:4:4","type":"","value":"0x40"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3466:3:4"},"nodeType":"YulFunctionCall","src":"3466:14:4"},"variables":[{"name":"tail","nodeType":"YulTypedName","src":"3458:4:4","type":""}]},{"nodeType":"YulBlock","src":"3490:161:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3522:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3552:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"3559:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3548:3:4"},"nodeType":"YulFunctionCall","src":"3548:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3542:5:4"},"nodeType":"YulFunctionCall","src":"3542:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3526:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"3612:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3630:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"3635:4:4","type":"","value":"0x00"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3626:3:4"},"nodeType":"YulFunctionCall","src":"3626:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"3578:33:4"},"nodeType":"YulFunctionCall","src":"3578:63:4"},"nodeType":"YulExpressionStatement","src":"3578:63:4"}]},{"nodeType":"YulBlock","src":"3661:161:4","statements":[{"nodeType":"YulVariableDeclaration","src":"3693:43:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3723:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"3730:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3719:3:4"},"nodeType":"YulFunctionCall","src":"3719:16:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"3713:5:4"},"nodeType":"YulFunctionCall","src":"3713:23:4"},"variables":[{"name":"memberValue0","nodeType":"YulTypedName","src":"3697:12:4","type":""}]},{"expression":{"arguments":[{"name":"memberValue0","nodeType":"YulIdentifier","src":"3783:12:4"},{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3801:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"3806:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3797:3:4"},"nodeType":"YulFunctionCall","src":"3797:14:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulIdentifier","src":"3749:33:4"},"nodeType":"YulFunctionCall","src":"3749:63:4"},"nodeType":"YulExpressionStatement","src":"3749:63:4"}]}]},"name":"abi_encode_t_struct$_Pair_$412_memory_ptr_to_t_struct$_Pair_$412_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3431:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3438:3:4","type":""}],"src":"3336:493:4"},{"body":{"nodeType":"YulBlock","src":"3890:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3907:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3930:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3912:17:4"},"nodeType":"YulFunctionCall","src":"3912:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3900:6:4"},"nodeType":"YulFunctionCall","src":"3900:37:4"},"nodeType":"YulExpressionStatement","src":"3900:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3878:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3885:3:4","type":""}],"src":"3835:108:4"},{"body":{"nodeType":"YulBlock","src":"4014:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4031:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4054:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4036:17:4"},"nodeType":"YulFunctionCall","src":"4036:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4024:6:4"},"nodeType":"YulFunctionCall","src":"4024:37:4"},"nodeType":"YulExpressionStatement","src":"4024:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4002:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"4009:3:4","type":""}],"src":"3949:118:4"},{"body":{"nodeType":"YulBlock","src":"4169:122:4","statements":[{"nodeType":"YulAssignment","src":"4179:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4191:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4202:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4187:3:4"},"nodeType":"YulFunctionCall","src":"4187:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4179:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4257:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4270:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4281:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4266:3:4"},"nodeType":"YulFunctionCall","src":"4266:17:4"}],"functionName":{"name":"abi_encode_t_int256_to_t_int256_fromStack","nodeType":"YulIdentifier","src":"4215:41:4"},"nodeType":"YulFunctionCall","src":"4215:69:4"},"nodeType":"YulExpressionStatement","src":"4215:69:4"}]},"name":"abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4141:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4153:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4164:4:4","type":""}],"src":"4073:218:4"},{"body":{"nodeType":"YulBlock","src":"4415:195:4","statements":[{"nodeType":"YulAssignment","src":"4425:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4437:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4448:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4433:3:4"},"nodeType":"YulFunctionCall","src":"4433:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4425:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4472:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4483:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4468:3:4"},"nodeType":"YulFunctionCall","src":"4468:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4491:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4497:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4487:3:4"},"nodeType":"YulFunctionCall","src":"4487:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4461:6:4"},"nodeType":"YulFunctionCall","src":"4461:47:4"},"nodeType":"YulExpressionStatement","src":"4461:47:4"},{"nodeType":"YulAssignment","src":"4517:86:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4589:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"4598:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4525:63:4"},"nodeType":"YulFunctionCall","src":"4525:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4517:4:4"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4387:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4399:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4410:4:4","type":""}],"src":"4297:313:4"},{"body":{"nodeType":"YulBlock","src":"4756:166:4","statements":[{"nodeType":"YulAssignment","src":"4766:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4778:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4789:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4774:3:4"},"nodeType":"YulFunctionCall","src":"4774:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4766:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4888:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4901:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4912:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4897:3:4"},"nodeType":"YulFunctionCall","src":"4897:17:4"}],"functionName":{"name":"abi_encode_t_struct$_Pair_$412_memory_ptr_to_t_struct$_Pair_$412_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4802:85:4"},"nodeType":"YulFunctionCall","src":"4802:113:4"},"nodeType":"YulExpressionStatement","src":"4802:113:4"}]},"name":"abi_encode_tuple_t_struct$_Pair_$412_memory_ptr__to_t_struct$_Pair_$412_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4728:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4740:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4751:4:4","type":""}],"src":"4616:306:4"},{"body":{"nodeType":"YulBlock","src":"5026:124:4","statements":[{"nodeType":"YulAssignment","src":"5036:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5048:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5059:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5044:3:4"},"nodeType":"YulFunctionCall","src":"5044:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5036:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5116:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5129:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5140:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5125:3:4"},"nodeType":"YulFunctionCall","src":"5125:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"5072:43:4"},"nodeType":"YulFunctionCall","src":"5072:71:4"},"nodeType":"YulExpressionStatement","src":"5072:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4998:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5010:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5021:4:4","type":""}],"src":"4928:222:4"},{"body":{"nodeType":"YulBlock","src":"5302:277:4","statements":[{"nodeType":"YulAssignment","src":"5312:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5324:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5335:2:4","type":"","value":"64"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5320:3:4"},"nodeType":"YulFunctionCall","src":"5320:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5312:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"5392:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5405:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5416:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5401:3:4"},"nodeType":"YulFunctionCall","src":"5401:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"5348:43:4"},"nodeType":"YulFunctionCall","src":"5348:71:4"},"nodeType":"YulExpressionStatement","src":"5348:71:4"},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"5440:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"5451:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5436:3:4"},"nodeType":"YulFunctionCall","src":"5436:18:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"5460:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"5466:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5456:3:4"},"nodeType":"YulFunctionCall","src":"5456:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5429:6:4"},"nodeType":"YulFunctionCall","src":"5429:48:4"},"nodeType":"YulExpressionStatement","src":"5429:48:4"},{"nodeType":"YulAssignment","src":"5486:86:4","value":{"arguments":[{"name":"value1","nodeType":"YulIdentifier","src":"5558:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"5567:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"5494:63:4"},"nodeType":"YulFunctionCall","src":"5494:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"5486:4:4"}]}]},"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":"5266:9:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"5278:6:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"5286:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"5297:4:4","type":""}],"src":"5156:423:4"},{"body":{"nodeType":"YulBlock","src":"5626:88:4","statements":[{"nodeType":"YulAssignment","src":"5636:30:4","value":{"arguments":[],"functionName":{"name":"allocate_unbounded","nodeType":"YulIdentifier","src":"5646:18:4"},"nodeType":"YulFunctionCall","src":"5646:20:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5636:6:4"}]},{"expression":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5695:6:4"},{"name":"size","nodeType":"YulIdentifier","src":"5703:4:4"}],"functionName":{"name":"finalize_allocation","nodeType":"YulIdentifier","src":"5675:19:4"},"nodeType":"YulFunctionCall","src":"5675:33:4"},"nodeType":"YulExpressionStatement","src":"5675:33:4"}]},"name":"allocate_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"size","nodeType":"YulTypedName","src":"5610:4:4","type":""}],"returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5619:6:4","type":""}],"src":"5585:129:4"},{"body":{"nodeType":"YulBlock","src":"5760:35:4","statements":[{"nodeType":"YulAssignment","src":"5770:19:4","value":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5786:2:4","type":"","value":"64"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"5780:5:4"},"nodeType":"YulFunctionCall","src":"5780:9:4"},"variableNames":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5770:6:4"}]}]},"name":"allocate_unbounded","nodeType":"YulFunctionDefinition","returnVariables":[{"name":"memPtr","nodeType":"YulTypedName","src":"5753:6:4","type":""}],"src":"5720:75:4"},{"body":{"nodeType":"YulBlock","src":"5868:241:4","statements":[{"body":{"nodeType":"YulBlock","src":"5973:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"5975:16:4"},"nodeType":"YulFunctionCall","src":"5975:18:4"},"nodeType":"YulExpressionStatement","src":"5975:18:4"}]},"condition":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"5945:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5953:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5942:2:4"},"nodeType":"YulFunctionCall","src":"5942:30:4"},"nodeType":"YulIf","src":"5939:2:4"},{"nodeType":"YulAssignment","src":"6005:37:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6035:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"6013:21:4"},"nodeType":"YulFunctionCall","src":"6013:29:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"6005:4:4"}]},{"nodeType":"YulAssignment","src":"6079:23:4","value":{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"6091:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"6097:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6087:3:4"},"nodeType":"YulFunctionCall","src":"6087:15:4"},"variableNames":[{"name":"size","nodeType":"YulIdentifier","src":"6079:4:4"}]}]},"name":"array_allocation_size_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"length","nodeType":"YulTypedName","src":"5852:6:4","type":""}],"returnVariables":[{"name":"size","nodeType":"YulTypedName","src":"5863:4:4","type":""}],"src":"5801:308:4"},{"body":{"nodeType":"YulBlock","src":"6174:40:4","statements":[{"nodeType":"YulAssignment","src":"6185:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6201:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6195:5:4"},"nodeType":"YulFunctionCall","src":"6195:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6185:6:4"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6157:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6167:6:4","type":""}],"src":"6115:99:4"},{"body":{"nodeType":"YulBlock","src":"6316:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6333:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"6338:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6326:6:4"},"nodeType":"YulFunctionCall","src":"6326:19:4"},"nodeType":"YulExpressionStatement","src":"6326:19:4"},{"nodeType":"YulAssignment","src":"6354:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"6373:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"6378:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6369:3:4"},"nodeType":"YulFunctionCall","src":"6369:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"6354:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"6288:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"6293:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"6304:11:4","type":""}],"src":"6220:169:4"},{"body":{"nodeType":"YulBlock","src":"6439:32:4","statements":[{"nodeType":"YulAssignment","src":"6449:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"6460:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6449:7:4"}]}]},"name":"cleanup_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6421:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6431:7:4","type":""}],"src":"6395:76:4"},{"body":{"nodeType":"YulBlock","src":"6522:32:4","statements":[{"nodeType":"YulAssignment","src":"6532:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"6543:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6532:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6504:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6514:7:4","type":""}],"src":"6477:77:4"},{"body":{"nodeType":"YulBlock","src":"6611:103:4","statements":[{"expression":{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6634:3:4"},{"name":"src","nodeType":"YulIdentifier","src":"6639:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"6644:6:4"}],"functionName":{"name":"calldatacopy","nodeType":"YulIdentifier","src":"6621:12:4"},"nodeType":"YulFunctionCall","src":"6621:30:4"},"nodeType":"YulExpressionStatement","src":"6621:30:4"},{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6692:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"6697:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6688:3:4"},"nodeType":"YulFunctionCall","src":"6688:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"6706:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6681:6:4"},"nodeType":"YulFunctionCall","src":"6681:27:4"},"nodeType":"YulExpressionStatement","src":"6681:27:4"}]},"name":"copy_calldata_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6593:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6598:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"6603:6:4","type":""}],"src":"6560:154:4"},{"body":{"nodeType":"YulBlock","src":"6769:258:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6779:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6788:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6783:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6848:63:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6873:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"6878:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6869:3:4"},"nodeType":"YulFunctionCall","src":"6869:11:4"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6892:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"6897:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6888:3:4"},"nodeType":"YulFunctionCall","src":"6888:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6882:5:4"},"nodeType":"YulFunctionCall","src":"6882:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6862:6:4"},"nodeType":"YulFunctionCall","src":"6862:39:4"},"nodeType":"YulExpressionStatement","src":"6862:39:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6809:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6812:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6806:2:4"},"nodeType":"YulFunctionCall","src":"6806:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6820:19:4","statements":[{"nodeType":"YulAssignment","src":"6822:15:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6831:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"6834:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6827:3:4"},"nodeType":"YulFunctionCall","src":"6827:10:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6822:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"6802:3:4","statements":[]},"src":"6798:113:4"},{"body":{"nodeType":"YulBlock","src":"6945:76:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6995:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"7000:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6991:3:4"},"nodeType":"YulFunctionCall","src":"6991:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"7009:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6984:6:4"},"nodeType":"YulFunctionCall","src":"6984:27:4"},"nodeType":"YulExpressionStatement","src":"6984:27:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6926:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6929:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6923:2:4"},"nodeType":"YulFunctionCall","src":"6923:13:4"},"nodeType":"YulIf","src":"6920:2:4"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6751:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6756:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"6761:6:4","type":""}],"src":"6720:307:4"},{"body":{"nodeType":"YulBlock","src":"7076:238:4","statements":[{"nodeType":"YulVariableDeclaration","src":"7086:58:4","value":{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7108:6:4"},{"arguments":[{"name":"size","nodeType":"YulIdentifier","src":"7138:4:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"7116:21:4"},"nodeType":"YulFunctionCall","src":"7116:27:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7104:3:4"},"nodeType":"YulFunctionCall","src":"7104:40:4"},"variables":[{"name":"newFreePtr","nodeType":"YulTypedName","src":"7090:10:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"7255:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x41","nodeType":"YulIdentifier","src":"7257:16:4"},"nodeType":"YulFunctionCall","src":"7257:18:4"},"nodeType":"YulExpressionStatement","src":"7257:18:4"}]},"condition":{"arguments":[{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7198:10:4"},{"kind":"number","nodeType":"YulLiteral","src":"7210:18:4","type":"","value":"0xffffffffffffffff"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"7195:2:4"},"nodeType":"YulFunctionCall","src":"7195:34:4"},{"arguments":[{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7234:10:4"},{"name":"memPtr","nodeType":"YulIdentifier","src":"7246:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"7231:2:4"},"nodeType":"YulFunctionCall","src":"7231:22:4"}],"functionName":{"name":"or","nodeType":"YulIdentifier","src":"7192:2:4"},"nodeType":"YulFunctionCall","src":"7192:62:4"},"nodeType":"YulIf","src":"7189:2:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7293:2:4","type":"","value":"64"},{"name":"newFreePtr","nodeType":"YulIdentifier","src":"7297:10:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7286:6:4"},"nodeType":"YulFunctionCall","src":"7286:22:4"},"nodeType":"YulExpressionStatement","src":"7286:22:4"}]},"name":"finalize_allocation","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"7062:6:4","type":""},{"name":"size","nodeType":"YulTypedName","src":"7070:4:4","type":""}],"src":"7033:281:4"},{"body":{"nodeType":"YulBlock","src":"7363:190:4","statements":[{"nodeType":"YulAssignment","src":"7373:33:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7400:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"7382:17:4"},"nodeType":"YulFunctionCall","src":"7382:24:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"7373:5:4"}]},{"body":{"nodeType":"YulBlock","src":"7496:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"7498:16:4"},"nodeType":"YulFunctionCall","src":"7498:18:4"},"nodeType":"YulExpressionStatement","src":"7498:18:4"}]},"condition":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7421:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7428:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7418:2:4"},"nodeType":"YulFunctionCall","src":"7418:77:4"},"nodeType":"YulIf","src":"7415:2:4"},{"nodeType":"YulAssignment","src":"7527:20:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7538:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7545:1:4","type":"","value":"1"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7534:3:4"},"nodeType":"YulFunctionCall","src":"7534:13:4"},"variableNames":[{"name":"ret","nodeType":"YulIdentifier","src":"7527:3:4"}]}]},"name":"increment_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7349:5:4","type":""}],"returnVariables":[{"name":"ret","nodeType":"YulTypedName","src":"7359:3:4","type":""}],"src":"7320:233:4"},{"body":{"nodeType":"YulBlock","src":"7587:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7604:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7607:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7597:6:4"},"nodeType":"YulFunctionCall","src":"7597:88:4"},"nodeType":"YulExpressionStatement","src":"7597:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7701:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7704:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7694:6:4"},"nodeType":"YulFunctionCall","src":"7694:15:4"},"nodeType":"YulExpressionStatement","src":"7694:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7725:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7728:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7718:6:4"},"nodeType":"YulFunctionCall","src":"7718:15:4"},"nodeType":"YulExpressionStatement","src":"7718:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"7559:180:4"},{"body":{"nodeType":"YulBlock","src":"7773:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7790:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7793:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7783:6:4"},"nodeType":"YulFunctionCall","src":"7783:88:4"},"nodeType":"YulExpressionStatement","src":"7783:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7887:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7890:4:4","type":"","value":"0x41"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7880:6:4"},"nodeType":"YulFunctionCall","src":"7880:15:4"},"nodeType":"YulExpressionStatement","src":"7880:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7911:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7914:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7904:6:4"},"nodeType":"YulFunctionCall","src":"7904:15:4"},"nodeType":"YulExpressionStatement","src":"7904:15:4"}]},"name":"panic_error_0x41","nodeType":"YulFunctionDefinition","src":"7745:180:4"},{"body":{"nodeType":"YulBlock","src":"7979:54:4","statements":[{"nodeType":"YulAssignment","src":"7989:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8007:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"8014:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"8003:3:4"},"nodeType":"YulFunctionCall","src":"8003:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8023:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"8019:3:4"},"nodeType":"YulFunctionCall","src":"8019:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7999:3:4"},"nodeType":"YulFunctionCall","src":"7999:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"7989:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7962:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"7972:6:4","type":""}],"src":"7931:102:4"},{"body":{"nodeType":"YulBlock","src":"8081:78:4","statements":[{"body":{"nodeType":"YulBlock","src":"8137:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8146:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8149:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8139:6:4"},"nodeType":"YulFunctionCall","src":"8139:12:4"},"nodeType":"YulExpressionStatement","src":"8139:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8104:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8128:5:4"}],"functionName":{"name":"cleanup_t_int256","nodeType":"YulIdentifier","src":"8111:16:4"},"nodeType":"YulFunctionCall","src":"8111:23:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8101:2:4"},"nodeType":"YulFunctionCall","src":"8101:34:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8094:6:4"},"nodeType":"YulFunctionCall","src":"8094:42:4"},"nodeType":"YulIf","src":"8091:2:4"}]},"name":"validator_revert_t_int256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8074:5:4","type":""}],"src":"8039:120:4"},{"body":{"nodeType":"YulBlock","src":"8208:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"8265:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"8274:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"8277:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"8267:6:4"},"nodeType":"YulFunctionCall","src":"8267:12:4"},"nodeType":"YulExpressionStatement","src":"8267:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8231:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"8256:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"8238:17:4"},"nodeType":"YulFunctionCall","src":"8238:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"8228:2:4"},"nodeType":"YulFunctionCall","src":"8228:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"8221:6:4"},"nodeType":"YulFunctionCall","src":"8221:43:4"},"nodeType":"YulIf","src":"8218:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"8201:5:4","type":""}],"src":"8165:122:4"}]},"contents":"{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_int256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int256(value)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_int256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_int256_to_t_int256_fromStack(value, pos) {\n mstore(pos, cleanup_t_int256(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n // struct Matchers.Pair -> struct Matchers.Pair\n function abi_encode_t_struct$_Pair_$412_memory_ptr_to_t_struct$_Pair_$412_memory_ptr_fromStack(value, pos) {\n let tail := add(pos, 0x40)\n\n {\n // a\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x00))\n }\n\n {\n // b\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_uint256_to_t_uint256(memberValue0, add(pos, 0x20))\n }\n\n }\n\n function abi_encode_t_uint256_to_t_uint256(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_int256__to_t_int256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int256_to_t_int256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_struct$_Pair_$412_memory_ptr__to_t_struct$_Pair_$412_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_struct$_Pair_$412_memory_ptr_to_t_struct$_Pair_$412_memory_ptr_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint256_t_string_memory_ptr__to_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n mstore(add(headStart, 32), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value1, tail)\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function cleanup_t_int256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function increment_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) { panic_error_0x11() }\n ret := add(value, 1)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function validator_revert_t_int256(value) {\n if iszero(eq(value, cleanup_t_int256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106101425760003560e01c806373d2ea85116100b8578063aac014e01161007c578063aac014e01461028b578063b6bbe06114610295578063bad92aa91461029f578063e0a03812146102a9578063fe276a34146102c5578063ffb4746b146102e157610142565b806373d2ea851461022357806374afd4521461023f578063772f243a146102495780637c3cb0af146102535780638f9330301461026f57610142565b80634b5bbf6a1161010a5780634b5bbf6a146101c157806358a1d1ed146101cb5780635b94e31e146101d5578063622051f1146101df5780636f1fdc31146101e95780636fc588d21461020557610142565b80631b4f3f3d146101475780631f542cf3146101515780633ba4178b1461016d578063467e3d371461018957806347c56769146101a5575b600080fd5b61014f6102eb565b005b61016b60048036038101906101669190610a66565b61030f565b005b61018760048036038101906101829190610a12565b610360565b005b6101a3600480360381019061019e91906109a8565b61039f565b005b6101bf60048036038101906101ba919061097f565b6103e7565b005b6101c9610424565b005b6101d361046d565b005b6101dd61047a565b005b6101e76104b1565b005b61020360048036038101906101fe91906109a8565b610533565b005b61020d610592565b60405161021a9190610b8f565b60405180910390f35b61023d600480360381019061023891906109e9565b61059b565b005b6102476105ef565b005b610251610608565b005b61026d600480360381019061026891906109e9565b6106a3565b005b6102896004803603810190610284919061097f565b6106e0565b005b610293610734565b005b61029d610766565b005b6102a76107b4565b005b6102c360048036038101906102be9190610a66565b6107fd565b005b6102df60048036038101906102da9190610a12565b610865565b005b6102e96108bb565b005b6000808154809291906102fd90610cd3565b9190505550600061030d57600080fd5b565b6040518060400160405280838152602001828152506040517fdecab0e70000000000000000000000000000000000000000000000000000000081526004016103579190610b74565b60405180910390fd5b81816040517fa92ee8e3000000000000000000000000000000000000000000000000000000008152600401610396929190610baa565b60405180910390fd5b600081906103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da9190610b52565b60405180910390fd5b5050565b806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161041b9190610b37565b60405180910390fd5b60008081548092919061043690610cd3565b91905055506040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061047857600080fd5b565b60006104af577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340d83b246040518163ffffffff1660e01b815260040160006040518083038186803b15801561051957600080fd5b505afa15801561052d573d6000803e3d6000fd5b50505050565b60008081548092919061054590610cd3565b91905055506000819061058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105859190610b52565b60405180910390fd5b5050565b60008054905090565b6000808154809291906105ad90610cd3565b9190505550806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016105e69190610b8f565b60405180910390fd5b60008081548092919061060190610cd3565b9190505550565b60008081548092919061061a90610cd3565b9190505550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2bd7e96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561068957600080fd5b505af115801561069d573d6000803e3d6000fd5b50505050565b806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016106d79190610b8f565b60405180910390fd5b6000808154809291906106f290610cd3565b9190505550806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161072b9190610b37565b60405180910390fd5b6040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061077890610cd3565b919050555060006107b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b6000808154809291906107c690610cd3565b91905055506040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061080f90610cd3565b91905055506040518060400160405280838152602001828152506040517fdecab0e700000000000000000000000000000000000000000000000000000000815260040161085c9190610b74565b60405180910390fd5b60008081548092919061087790610cd3565b919050555081816040517fa92ee8e30000000000000000000000000000000000000000000000000000000081526004016108b2929190610baa565b60405180910390fd5b6040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109006108fb84610bff565b610bda565b90508281526020810184848401111561091857600080fd5b610923848285610c60565b509392505050565b60008135905061093a81610d8b565b92915050565b600082601f83011261095157600080fd5b81356109618482602086016108ed565b91505092915050565b60008135905061097981610da2565b92915050565b60006020828403121561099157600080fd5b600061099f8482850161092b565b91505092915050565b6000602082840312156109ba57600080fd5b600082013567ffffffffffffffff8111156109d457600080fd5b6109e084828501610940565b91505092915050565b6000602082840312156109fb57600080fd5b6000610a098482850161096a565b91505092915050565b60008060408385031215610a2557600080fd5b6000610a338582860161096a565b925050602083013567ffffffffffffffff811115610a5057600080fd5b610a5c85828601610940565b9150509250929050565b60008060408385031215610a7957600080fd5b6000610a878582860161096a565b9250506020610a988582860161096a565b9150509250929050565b610aab81610c4c565b82525050565b6000610abc82610c30565b610ac68185610c3b565b9350610ad6818560208601610c6f565b610adf81610d7a565b840191505092915050565b604082016000820151610b006000850182610b19565b506020820151610b136020850182610b19565b50505050565b610b2281610c56565b82525050565b610b3181610c56565b82525050565b6000602082019050610b4c6000830184610aa2565b92915050565b60006020820190508181036000830152610b6c8184610ab1565b905092915050565b6000604082019050610b896000830184610aea565b92915050565b6000602082019050610ba46000830184610b28565b92915050565b6000604082019050610bbf6000830185610b28565b8181036020830152610bd18184610ab1565b90509392505050565b6000610be4610bf5565b9050610bf08282610ca2565b919050565b6000604051905090565b600067ffffffffffffffff821115610c1a57610c19610d4b565b5b610c2382610d7a565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610c8d578082015181840152602081019050610c72565b83811115610c9c576000848401525b50505050565b610cab82610d7a565b810181811067ffffffffffffffff82111715610cca57610cc9610d4b565b5b80604052505050565b6000610cde82610c56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d1157610d10610d1c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b610d9481610c4c565b8114610d9f57600080fd5b50565b610dab81610c56565b8114610db657600080fd5b5056fea264697066735822122025e4c9eca28af81eeb16cfbb3832355e24c64c7eae221a5034159a671d61281464736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x142 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x73D2EA85 GT PUSH2 0xB8 JUMPI DUP1 PUSH4 0xAAC014E0 GT PUSH2 0x7C JUMPI DUP1 PUSH4 0xAAC014E0 EQ PUSH2 0x28B JUMPI DUP1 PUSH4 0xB6BBE061 EQ PUSH2 0x295 JUMPI DUP1 PUSH4 0xBAD92AA9 EQ PUSH2 0x29F JUMPI DUP1 PUSH4 0xE0A03812 EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0xFE276A34 EQ PUSH2 0x2C5 JUMPI DUP1 PUSH4 0xFFB4746B EQ PUSH2 0x2E1 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x73D2EA85 EQ PUSH2 0x223 JUMPI DUP1 PUSH4 0x74AFD452 EQ PUSH2 0x23F JUMPI DUP1 PUSH4 0x772F243A EQ PUSH2 0x249 JUMPI DUP1 PUSH4 0x7C3CB0AF EQ PUSH2 0x253 JUMPI DUP1 PUSH4 0x8F933030 EQ PUSH2 0x26F JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x4B5BBF6A GT PUSH2 0x10A JUMPI DUP1 PUSH4 0x4B5BBF6A EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x58A1D1ED EQ PUSH2 0x1CB JUMPI DUP1 PUSH4 0x5B94E31E EQ PUSH2 0x1D5 JUMPI DUP1 PUSH4 0x622051F1 EQ PUSH2 0x1DF JUMPI DUP1 PUSH4 0x6F1FDC31 EQ PUSH2 0x1E9 JUMPI DUP1 PUSH4 0x6FC588D2 EQ PUSH2 0x205 JUMPI PUSH2 0x142 JUMP JUMPDEST DUP1 PUSH4 0x1B4F3F3D EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0x1F542CF3 EQ PUSH2 0x151 JUMPI DUP1 PUSH4 0x3BA4178B EQ PUSH2 0x16D JUMPI DUP1 PUSH4 0x467E3D37 EQ PUSH2 0x189 JUMPI DUP1 PUSH4 0x47C56769 EQ PUSH2 0x1A5 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x14F PUSH2 0x2EB JUMP JUMPDEST STOP JUMPDEST PUSH2 0x16B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x166 SWAP2 SWAP1 PUSH2 0xA66 JUMP JUMPDEST PUSH2 0x30F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x187 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x182 SWAP2 SWAP1 PUSH2 0xA12 JUMP JUMPDEST PUSH2 0x360 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1A3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19E SWAP2 SWAP1 PUSH2 0x9A8 JUMP JUMPDEST PUSH2 0x39F JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1BF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1BA SWAP2 SWAP1 PUSH2 0x97F JUMP JUMPDEST PUSH2 0x3E7 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1C9 PUSH2 0x424 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1D3 PUSH2 0x46D JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1DD PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST PUSH2 0x1E7 PUSH2 0x4B1 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x203 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1FE SWAP2 SWAP1 PUSH2 0x9A8 JUMP JUMPDEST PUSH2 0x533 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x20D PUSH2 0x592 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x21A SWAP2 SWAP1 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x23D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x238 SWAP2 SWAP1 PUSH2 0x9E9 JUMP JUMPDEST PUSH2 0x59B JUMP JUMPDEST STOP JUMPDEST PUSH2 0x247 PUSH2 0x5EF JUMP JUMPDEST STOP JUMPDEST PUSH2 0x251 PUSH2 0x608 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x26D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x268 SWAP2 SWAP1 PUSH2 0x9E9 JUMP JUMPDEST PUSH2 0x6A3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x289 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x284 SWAP2 SWAP1 PUSH2 0x97F JUMP JUMPDEST PUSH2 0x6E0 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x293 PUSH2 0x734 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x29D PUSH2 0x766 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2A7 PUSH2 0x7B4 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2C3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BE SWAP2 SWAP1 PUSH2 0xA66 JUMP JUMPDEST PUSH2 0x7FD JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2DF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2DA SWAP2 SWAP1 PUSH2 0xA12 JUMP JUMPDEST PUSH2 0x865 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x2E9 PUSH2 0x8BB JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x2FD SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH2 0x30D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH32 0xDECAB0E700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x357 SWAP2 SWAP1 PUSH2 0xB74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x40 MLOAD PUSH32 0xA92EE8E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x396 SWAP3 SWAP2 SWAP1 PUSH2 0xBAA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP2 SWAP1 PUSH2 0x3E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x3DA SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0xCDD7A0CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x41B SWAP2 SWAP1 PUSH2 0xB37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x436 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD PUSH32 0xD2C097A600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4AF JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x40D83B24 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x519 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x52D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x545 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 DUP2 SWAP1 PUSH2 0x58E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x585 SWAP2 SWAP1 PUSH2 0xB52 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x5AD SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD PUSH32 0x1F4D5D200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5E6 SWAP2 SWAP1 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x601 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x61A SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x4B2BD7E9 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x689 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x69D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST DUP1 PUSH1 0x40 MLOAD PUSH32 0x1F4D5D200000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6D7 SWAP2 SWAP1 PUSH2 0xB8F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x6F2 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD PUSH32 0xCDD7A0CC00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x72B SWAP2 SWAP1 PUSH2 0xB37 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xD2C097A600000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x778 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x0 PUSH2 0x7B2 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x1 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x7C6 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD PUSH32 0xBD3D39C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x80F SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x40 MLOAD PUSH32 0xDECAB0E700000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x85C SWAP2 SWAP1 PUSH2 0xB74 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP2 SLOAD DUP1 SWAP3 SWAP2 SWAP1 PUSH2 0x877 SWAP1 PUSH2 0xCD3 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP2 DUP2 PUSH1 0x40 MLOAD PUSH32 0xA92EE8E300000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B2 SWAP3 SWAP2 SWAP1 PUSH2 0xBAA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH32 0xBD3D39C00000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x900 PUSH2 0x8FB DUP5 PUSH2 0xBFF JUMP JUMPDEST PUSH2 0xBDA JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x918 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x923 DUP5 DUP3 DUP6 PUSH2 0xC60 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x93A DUP2 PUSH2 0xD8B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x951 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x961 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x8ED JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x979 DUP2 PUSH2 0xDA2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x99F DUP5 DUP3 DUP6 ADD PUSH2 0x92B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x9D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9E0 DUP5 DUP3 DUP6 ADD PUSH2 0x940 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x9FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA09 DUP5 DUP3 DUP6 ADD PUSH2 0x96A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA33 DUP6 DUP3 DUP7 ADD PUSH2 0x96A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0xA50 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA5C DUP6 DUP3 DUP7 ADD PUSH2 0x940 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xA79 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xA87 DUP6 DUP3 DUP7 ADD PUSH2 0x96A JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xA98 DUP6 DUP3 DUP7 ADD PUSH2 0x96A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xAAB DUP2 PUSH2 0xC4C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xABC DUP3 PUSH2 0xC30 JUMP JUMPDEST PUSH2 0xAC6 DUP2 DUP6 PUSH2 0xC3B JUMP JUMPDEST SWAP4 POP PUSH2 0xAD6 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xC6F JUMP JUMPDEST PUSH2 0xADF DUP2 PUSH2 0xD7A JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x40 DUP3 ADD PUSH1 0x0 DUP3 ADD MLOAD PUSH2 0xB00 PUSH1 0x0 DUP6 ADD DUP3 PUSH2 0xB19 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH2 0xB13 PUSH1 0x20 DUP6 ADD DUP3 PUSH2 0xB19 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xB22 DUP2 PUSH2 0xC56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xB31 DUP2 PUSH2 0xC56 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xB4C PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAA2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xB6C DUP2 DUP5 PUSH2 0xAB1 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xB89 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xAEA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xBA4 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xB28 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0xBBF PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0xB28 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x20 DUP4 ADD MSTORE PUSH2 0xBD1 DUP2 DUP5 PUSH2 0xAB1 JUMP JUMPDEST SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xBE4 PUSH2 0xBF5 JUMP JUMPDEST SWAP1 POP PUSH2 0xBF0 DUP3 DUP3 PUSH2 0xCA2 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0xC1A JUMPI PUSH2 0xC19 PUSH2 0xD4B JUMP JUMPDEST JUMPDEST PUSH2 0xC23 DUP3 PUSH2 0xD7A JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xC8D JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xC72 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xC9C JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH2 0xCAB DUP3 PUSH2 0xD7A JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0xCCA JUMPI PUSH2 0xCC9 PUSH2 0xD4B JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCDE DUP3 PUSH2 0xC56 JUMP JUMPDEST SWAP2 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 EQ ISZERO PUSH2 0xD11 JUMPI PUSH2 0xD10 PUSH2 0xD1C JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xD94 DUP2 PUSH2 0xC4C JUMP JUMPDEST DUP2 EQ PUSH2 0xD9F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xDAB DUP2 PUSH2 0xC56 JUMP JUMPDEST DUP2 EQ PUSH2 0xDB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x25 0xE4 0xC9 0xEC LOG2 DUP11 0xF8 0x1E 0xEB AND 0xCF 0xBB CODESIZE ORIGIN CALLDATALOAD 0x5E 0x24 0xC6 0x4C PUSH31 0xAE221A5034159A671D61281464736F6C634300080400330000000000000000 ","sourceMap":"65:2709:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;888:73;;;:::i;:::-;;2652:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2383:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;792:92;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2134:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1360:94;;;:::i;:::-;;965:73;;;:::i;:::-;;1109:63;;;:::i;:::-;;1684:128;;;:::i;:::-;;696:92;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;622:70;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1816:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;542:76;;;:::i;:::-;;1556:124;;;:::i;:::-;;1923:103;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2030:100;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1458:94;;;:::i;:::-;;1042:63;;;:::i;:::-;;1176:88;;;:::i;:::-;;2528:120;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2238:141;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1268:88;;;:::i;:::-;;888:73;933:1;;:3;;;;;;;;;:::i;:::-;;;;;;950:5;942:14;;;;;;888:73::o;2652:120::-;2756:10;;;;;;;;2761:1;2756:10;;;;2764:1;2756:10;;;2736:31;;;;;;;;;;;:::i;:::-;;;;;;;;2383:141;2514:1;2517;2485:34;;;;;;;;;;;;:::i;:::-;;;;;;;;792:92;865:5;872:6;857:22;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;792:92;:::o;2134:100::-;2227:1;2208:21;;;;;;;;;;;:::i;:::-;;;;;;;;1360:94;1413:1;;:3;;;;;;;;;:::i;:::-;;;;;;1429:20;;;;;;;;;;;;;;965:73;1027:5;1019:14;;;;;;965:73::o;1109:63::-;1161:5;1154:13;;;;;;;;;;;;1109:63::o;1684:128::-;1754:15;;;;;;;;;;;:51;;;:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1684:128::o;696:92::-;752:1;;:3;;;;;;;;;:::i;:::-;;;;;;769:5;776:6;761:22;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;696:92;:::o;622:70::-;667:4;686:1;;679:8;;622:70;:::o;1816:103::-;1876:1;;:3;;;;;;;;;:::i;:::-;;;;;;1912:1;1892:22;;;;;;;;;;;:::i;:::-;;;;;;;;542:76;575:1;;:3;;;;;;;;;:::i;:::-;;;;;;542:76::o;1556:124::-;1617:1;;:3;;;;;;;;;:::i;:::-;;;;;;1626:15;;;;;;;;;;;:47;;;:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1556:124::o;1923:103::-;2019:1;1999:22;;;;;;;;;;;:::i;:::-;;;;;;;;2030:100;2088:1;;:3;;;;;;;;;:::i;:::-;;;;;;2123:1;2104:21;;;;;;;;;;;:::i;:::-;;;;;;;;1458:94;1527:20;;;;;;;;;;;;;;1042:63;1078:1;;:3;;;;;;;;;:::i;:::-;;;;;;1094:5;1087:13;;;;;;;;;;;;1042:63::o;1176:88::-;1226:1;;:3;;;;;;;;;:::i;:::-;;;;;;1242:17;;;;;;;;;;;;;;2528:120;2596:1;;:3;;;;;;;;;:::i;:::-;;;;;;2632:10;;;;;;;;2637:1;2632:10;;;;2640:1;2632:10;;;2612:31;;;;;;;;;;;:::i;:::-;;;;;;;;2238:141;2324:1;;:3;;;;;;;;;:::i;:::-;;;;;;2369:1;2372;2340:34;;;;;;;;;;;;:::i;:::-;;;;;;;;1268:88;1334:17;;;;;;;;;;;;;;7:345:4;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:137::-;403:5;441:6;428:20;419:29;;457:32;483:5;457:32;:::i;:::-;409:86;;;;:::o;515:273::-;571:5;620:3;613:4;605:6;601:17;597:27;587:2;;638:1;635;628:12;587:2;678:6;665:20;703:79;778:3;770:6;763:4;755:6;751:17;703:79;:::i;:::-;694:88;;577:211;;;;;:::o;794:139::-;840:5;878:6;865:20;856:29;;894:33;921:5;894:33;:::i;:::-;846:87;;;;:::o;939:260::-;997:6;1046:2;1034:9;1025:7;1021:23;1017:32;1014:2;;;1062:1;1059;1052:12;1014:2;1105:1;1130:52;1174:7;1165:6;1154:9;1150:22;1130:52;:::i;:::-;1120:62;;1076:116;1004:195;;;;:::o;1205:375::-;1274:6;1323:2;1311:9;1302:7;1298:23;1294:32;1291:2;;;1339:1;1336;1329:12;1291:2;1410:1;1399:9;1395:17;1382:31;1440:18;1432:6;1429:30;1426:2;;;1472:1;1469;1462:12;1426:2;1500:63;1555:7;1546:6;1535:9;1531:22;1500:63;:::i;:::-;1490:73;;1353:220;1281:299;;;;:::o;1586:262::-;1645:6;1694:2;1682:9;1673:7;1669:23;1665:32;1662:2;;;1710:1;1707;1700:12;1662:2;1753:1;1778:53;1823:7;1814:6;1803:9;1799:22;1778:53;:::i;:::-;1768:63;;1724:117;1652:196;;;;:::o;1854:520::-;1932:6;1940;1989:2;1977:9;1968:7;1964:23;1960:32;1957:2;;;2005:1;2002;1995:12;1957:2;2048:1;2073:53;2118:7;2109:6;2098:9;2094:22;2073:53;:::i;:::-;2063:63;;2019:117;2203:2;2192:9;2188:18;2175:32;2234:18;2226:6;2223:30;2220:2;;;2266:1;2263;2256:12;2220:2;2294:63;2349:7;2340:6;2329:9;2325:22;2294:63;:::i;:::-;2284:73;;2146:221;1947:427;;;;;:::o;2380:407::-;2448:6;2456;2505:2;2493:9;2484:7;2480:23;2476:32;2473:2;;;2521:1;2518;2511:12;2473:2;2564:1;2589:53;2634:7;2625:6;2614:9;2610:22;2589:53;:::i;:::-;2579:63;;2535:117;2691:2;2717:53;2762:7;2753:6;2742:9;2738:22;2717:53;:::i;:::-;2707:63;;2662:118;2463:324;;;;;:::o;2793:115::-;2878:23;2895:5;2878:23;:::i;:::-;2873:3;2866:36;2856:52;;:::o;2914:364::-;3002:3;3030:39;3063:5;3030:39;:::i;:::-;3085:71;3149:6;3144:3;3085:71;:::i;:::-;3078:78;;3165:52;3210:6;3205:3;3198:4;3191:5;3187:16;3165:52;:::i;:::-;3242:29;3264:6;3242:29;:::i;:::-;3237:3;3233:39;3226:46;;3006:272;;;;;:::o;3336:493::-;3475:4;3470:3;3466:14;3559:4;3552:5;3548:16;3542:23;3578:63;3635:4;3630:3;3626:14;3612:12;3578:63;:::i;:::-;3490:161;3730:4;3723:5;3719:16;3713:23;3749:63;3806:4;3801:3;3797:14;3783:12;3749:63;:::i;:::-;3661:161;3444:385;;;:::o;3835:108::-;3912:24;3930:5;3912:24;:::i;:::-;3907:3;3900:37;3890:53;;:::o;3949:118::-;4036:24;4054:5;4036:24;:::i;:::-;4031:3;4024:37;4014:53;;:::o;4073:218::-;4164:4;4202:2;4191:9;4187:18;4179:26;;4215:69;4281:1;4270:9;4266:17;4257:6;4215:69;:::i;:::-;4169:122;;;;:::o;4297:313::-;4410:4;4448:2;4437:9;4433:18;4425:26;;4497:9;4491:4;4487:20;4483:1;4472:9;4468:17;4461:47;4525:78;4598:4;4589:6;4525:78;:::i;:::-;4517:86;;4415:195;;;;:::o;4616:306::-;4751:4;4789:2;4778:9;4774:18;4766:26;;4802:113;4912:1;4901:9;4897:17;4888:6;4802:113;:::i;:::-;4756:166;;;;:::o;4928:222::-;5021:4;5059:2;5048:9;5044:18;5036:26;;5072:71;5140:1;5129:9;5125:17;5116:6;5072:71;:::i;:::-;5026:124;;;;:::o;5156:423::-;5297:4;5335:2;5324:9;5320:18;5312:26;;5348:71;5416:1;5405:9;5401:17;5392:6;5348:71;:::i;:::-;5466:9;5460:4;5456:20;5451:2;5440:9;5436:18;5429:48;5494:78;5567:4;5558:6;5494:78;:::i;:::-;5486:86;;5302:277;;;;;:::o;5585:129::-;5619:6;5646:20;;:::i;:::-;5636:30;;5675:33;5703:4;5695:6;5675:33;:::i;:::-;5626:88;;;:::o;5720:75::-;5753:6;5786:2;5780:9;5770:19;;5760:35;:::o;5801:308::-;5863:4;5953:18;5945:6;5942:30;5939:2;;;5975:18;;:::i;:::-;5939:2;6013:29;6035:6;6013:29;:::i;:::-;6005:37;;6097:4;6091;6087:15;6079:23;;5868:241;;;:::o;6115:99::-;6167:6;6201:5;6195:12;6185:22;;6174:40;;;:::o;6220:169::-;6304:11;6338:6;6333:3;6326:19;6378:4;6373:3;6369:14;6354:29;;6316:73;;;;:::o;6395:76::-;6431:7;6460:5;6449:16;;6439:32;;;:::o;6477:77::-;6514:7;6543:5;6532:16;;6522:32;;;:::o;6560:154::-;6644:6;6639:3;6634;6621:30;6706:1;6697:6;6692:3;6688:16;6681:27;6611:103;;;:::o;6720:307::-;6788:1;6798:113;6812:6;6809:1;6806:13;6798:113;;;6897:1;6892:3;6888:11;6882:18;6878:1;6873:3;6869:11;6862:39;6834:2;6831:1;6827:10;6822:15;;6798:113;;;6929:6;6926:1;6923:13;6920:2;;;7009:1;7000:6;6995:3;6991:16;6984:27;6920:2;6769:258;;;;:::o;7033:281::-;7116:27;7138:4;7116:27;:::i;:::-;7108:6;7104:40;7246:6;7234:10;7231:22;7210:18;7198:10;7195:34;7192:62;7189:2;;;7257:18;;:::i;:::-;7189:2;7297:10;7293:2;7286:22;7076:238;;;:::o;7320:233::-;7359:3;7382:24;7400:5;7382:24;:::i;:::-;7373:33;;7428:66;7421:5;7418:77;7415:2;;;7498:18;;:::i;:::-;7415:2;7545:1;7538:5;7534:13;7527:20;;7363:190;;;:::o;7559:180::-;7607:77;7604:1;7597:88;7704:4;7701:1;7694:15;7728:4;7725:1;7718:15;7745:180;7793:77;7790:1;7783:88;7890:4;7887:1;7880:15;7914:4;7911:1;7904:15;7931:102;7972:6;8023:2;8019:7;8014:2;8007:5;8003:14;7999:28;7989:38;;7979:54;;;:::o;8039:120::-;8111:23;8128:5;8111:23;:::i;:::-;8104:5;8101:34;8091:2;;8149:1;8146;8139:12;8091:2;8081:78;:::o;8165:122::-;8238:24;8256:5;8238:24;:::i;:::-;8231:5;8228:35;8218:2;;8277:1;8274;8267:12;8218:2;8208:79;:::o"},"methodIdentifiers":{"panicAssert()":"b6bbe061","panicAssertView()":"5b94e31e","revertWithAnotherContractCustomError()":"772f243a","revertWithAnotherContractCustomErrorView()":"622051f1","revertWithAnotherCustomError()":"4b5bbf6a","revertWithAnotherCustomErrorView()":"aac014e0","revertWithCustomErrorWithInt(int256)":"8f933030","revertWithCustomErrorWithIntView(int256)":"47c56769","revertWithCustomErrorWithPair(uint256,uint256)":"e0a03812","revertWithCustomErrorWithPairView(uint256,uint256)":"1f542cf3","revertWithCustomErrorWithUint(uint256)":"73d2ea85","revertWithCustomErrorWithUintAndString(uint256,string)":"fe276a34","revertWithCustomErrorWithUintAndStringView(uint256,string)":"3ba4178b","revertWithCustomErrorWithUintView(uint256)":"7c3cb0af","revertWithSomeCustomError()":"bad92aa9","revertWithSomeCustomErrorView()":"ffb4746b","revertsWith(string)":"6f1fdc31","revertsWithView(string)":"467e3d37","revertsWithoutReason()":"1b4f3f3d","revertsWithoutReasonView()":"58a1d1ed","succeeds()":"74afd452","succeedsView()":"6fc588d2"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AnotherCustomError\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"CustomErrorWithInt\",\"type\":\"error\"},{\"inputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"internalType\":\"struct Matchers.Pair\",\"name\":\"\",\"type\":\"tuple\"}],\"name\":\"CustomErrorWithPair\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"nameToForceEthersToUseAnArrayLikeWithNamedProperties\",\"type\":\"uint256\"}],\"name\":\"CustomErrorWithUint\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"CustomErrorWithUintAndString\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SomeCustomError\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"SomeEvent\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"panicAssert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"panicAssertView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWithAnotherContractCustomError\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWithAnotherContractCustomErrorView\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWithAnotherCustomError\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWithAnotherCustomErrorView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"i\",\"type\":\"int256\"}],\"name\":\"revertWithCustomErrorWithInt\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"i\",\"type\":\"int256\"}],\"name\":\"revertWithCustomErrorWithIntView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"revertWithCustomErrorWithPair\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"a\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"b\",\"type\":\"uint256\"}],\"name\":\"revertWithCustomErrorWithPairView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"revertWithCustomErrorWithUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"revertWithCustomErrorWithUintAndString\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"s\",\"type\":\"string\"}],\"name\":\"revertWithCustomErrorWithUintAndStringView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"revertWithCustomErrorWithUintView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWithSomeCustomError\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertWithSomeCustomErrorView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"revertsWith\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"revertsWithView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertsWithoutReason\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"revertsWithoutReasonView\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"succeeds\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"succeedsView\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Matchers.sol\":\"Matchers\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Matchers.sol\":{\"keccak256\":\"0x5a69001d60d8f2498c88a26a86619900f4a7d1e7443adcb5f6bf73b112e659df\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://ca96217e25bd9b0beccc5038bcde4bb32fc71f7828c01e2254f7c6eb06b2ec1c\",\"dweb:/ipfs/QmaHs3KgdszUPBCWbYsxriReGFePSG1AE23BxSCa98cnT9\"]}},\"version\":1}"}},"contracts/Token.sol":{"MockToken":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:516:4","statements":[{"body":{"nodeType":"YulBlock","src":"58:269:4","statements":[{"nodeType":"YulAssignment","src":"68:22:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"82:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"88:1:4","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"78:3:4"},"nodeType":"YulFunctionCall","src":"78:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"68:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"99:38:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"129:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:4","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"125:3:4"},"nodeType":"YulFunctionCall","src":"125:12:4"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"103:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"176:51:4","statements":[{"nodeType":"YulAssignment","src":"190:27:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"204:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"212:4:4","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"200:3:4"},"nodeType":"YulFunctionCall","src":"200:17:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"190:6:4"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"156:18:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"149:6:4"},"nodeType":"YulFunctionCall","src":"149:26:4"},"nodeType":"YulIf","src":"146:2:4"},{"body":{"nodeType":"YulBlock","src":"279:42:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"293:16:4"},"nodeType":"YulFunctionCall","src":"293:18:4"},"nodeType":"YulExpressionStatement","src":"293:18:4"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"243:18:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"266:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"274:2:4","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"263:2:4"},"nodeType":"YulFunctionCall","src":"263:14:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"240:2:4"},"nodeType":"YulFunctionCall","src":"240:38:4"},"nodeType":"YulIf","src":"237:2:4"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"42:4:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"51:6:4","type":""}],"src":"7:320:4"},{"body":{"nodeType":"YulBlock","src":"361:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"378:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"381:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"371:6:4"},"nodeType":"YulFunctionCall","src":"371:88:4"},"nodeType":"YulExpressionStatement","src":"371:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"475:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"478:4:4","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"468:6:4"},"nodeType":"YulFunctionCall","src":"468:15:4"},"nodeType":"YulExpressionStatement","src":"468:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"499:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"502:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"492:6:4"},"nodeType":"YulFunctionCall","src":"492:15:4"},"nodeType":"YulExpressionStatement","src":"492:15:4"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"333:180:4"}]},"contents":"{\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405260016000556040518060400160405280600981526020017f4d6f636b546f6b656e000000000000000000000000000000000000000000000081525060049080519060200190620000569291906200010a565b506040518060400160405280600381526020017f4d434b000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000a49291906200010a565b50348015620000b257600080fd5b50633b9aca00600181905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200021f565b8280546200011890620001ba565b90600052602060002090601f0160209004810192826200013c576000855562000188565b82601f106200015757805160ff191683800117855562000188565b8280016001018555821562000188579182015b82811115620001875782518255916020019190600101906200016a565b5b5090506200019791906200019b565b5090565b5b80821115620001b65760008160009055506001016200019c565b5090565b60006002820490506001821680620001d357607f821691505b60208210811415620001ea57620001e9620001f0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b610bad806200022f6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad91906108b8565b60405180910390f35b6100d060048036038101906100cb91906107c4565b61028e565b6040516100dd919061089d565b60405180910390f35b6100ee61031b565b6040516100fb919061091a565b60405180910390f35b61011e60048036038101906101199190610775565b610321565b60405161012b919061089d565b60405180910390f35b61013c6104b9565b604051610149919061091a565b60405180910390f35b61016c60048036038101906101679190610710565b6104bf565b604051610179919061091a565b60405180910390f35b61018a6104d7565b60405161019791906108b8565b60405180910390f35b6101ba60048036038101906101b591906107c4565b610565565b6040516101c7919061089d565b60405180910390f35b6101ea60048036038101906101e59190610739565b61065f565b6040516101f7919061091a565b60405180910390f35b6004805461020d90610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610a56565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161032e853361065f565b101561036f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610366906108da565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103fb91906109a7565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045191906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104a79190610951565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600580546104e490610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610a56565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b60008082116105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a0906108fa565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105f891906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461064e9190610951565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000813590506106f581610b49565b92915050565b60008135905061070a81610b60565b92915050565b60006020828403121561072257600080fd5b6000610730848285016106e6565b91505092915050565b6000806040838503121561074c57600080fd5b600061075a858286016106e6565b925050602061076b858286016106e6565b9150509250929050565b60008060006060848603121561078a57600080fd5b6000610798868287016106e6565b93505060206107a9868287016106e6565b92505060406107ba868287016106fb565b9150509250925092565b600080604083850312156107d757600080fd5b60006107e5858286016106e6565b92505060206107f6858286016106fb565b9150509250929050565b610809816109ed565b82525050565b600061081a82610935565b6108248185610940565b9350610834818560208601610a23565b61083d81610ae6565b840191505092915050565b6000610855601683610940565b915061086082610af7565b602082019050919050565b6000610878601983610940565b915061088382610b20565b602082019050919050565b61089781610a19565b82525050565b60006020820190506108b26000830184610800565b92915050565b600060208201905081810360008301526108d2818461080f565b905092915050565b600060208201905081810360008301526108f381610848565b9050919050565b600060208201905081810360008301526109138161086b565b9050919050565b600060208201905061092f600083018461088e565b92915050565b600081519050919050565b600082825260208201905092915050565b600061095c82610a19565b915061096783610a19565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561099c5761099b610a88565b5b828201905092915050565b60006109b282610a19565b91506109bd83610a19565b9250828210156109d0576109cf610a88565b5b828203905092915050565b60006109e6826109f9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610a41578082015181840152602081019050610a26565b83811115610a50576000848401525b50505050565b60006002820490506001821680610a6e57607f821691505b60208210811415610a8257610a81610ab7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610b52816109db565b8114610b5d57600080fd5b50565b610b6981610a19565b8114610b7457600080fd5b5056fea26469706673582212208ce961870c9d6cd505270df5da0c70d49a8f6cb7e04d5a03b16637783be136e764736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D6F636B546F6B656E0000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x56 SWAP3 SWAP2 SWAP1 PUSH3 0x10A JUMP JUMPDEST POP PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x3 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D434B0000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x5 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0xA4 SWAP3 SWAP2 SWAP1 PUSH3 0x10A JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH3 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH4 0x3B9ACA00 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SLOAD PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH3 0x21F JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x118 SWAP1 PUSH3 0x1BA JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x13C JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x188 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x157 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x188 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x188 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x187 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x16A JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x197 SWAP2 SWAP1 PUSH3 0x19B JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x1B6 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x19C JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x1D3 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x1EA JUMPI PUSH3 0x1E9 PUSH3 0x1F0 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xBAD DUP1 PUSH3 0x22F 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 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1D0 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xE6 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x104 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH2 0x200 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x8B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCB SWAP2 SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH2 0x28E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDD SWAP2 SWAP1 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEE PUSH2 0x31B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x119 SWAP2 SWAP1 PUSH2 0x775 JUMP JUMPDEST PUSH2 0x321 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13C PUSH2 0x4B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0x710 JUMP JUMPDEST PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x179 SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH2 0x4D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0x8B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B5 SWAP2 SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH2 0x565 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E5 SWAP2 SWAP1 PUSH2 0x739 JUMP JUMPDEST PUSH2 0x65F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F7 SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x20D SWAP1 PUSH2 0xA56 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 0x239 SWAP1 PUSH2 0xA56 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x286 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x286 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 0x269 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x32E DUP6 CALLER PUSH2 0x65F JUMP JUMPDEST LT ISZERO PUSH2 0x36F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x366 SWAP1 PUSH2 0x8DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3FB SWAP2 SWAP1 PUSH2 0x9A7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x451 SWAP2 SWAP1 PUSH2 0x9A7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4A7 SWAP2 SWAP1 PUSH2 0x951 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH2 0x4E4 SWAP1 PUSH2 0xA56 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 0x510 SWAP1 PUSH2 0xA56 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x55D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x532 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x55D 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 0x540 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x5A9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A0 SWAP1 PUSH2 0x8FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5F8 SWAP2 SWAP1 PUSH2 0x9A7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x951 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6F5 DUP2 PUSH2 0xB49 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x70A DUP2 PUSH2 0xB60 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x722 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x730 DUP5 DUP3 DUP6 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x74C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x75A DUP6 DUP3 DUP7 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x76B DUP6 DUP3 DUP7 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x798 DUP7 DUP3 DUP8 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x7A9 DUP7 DUP3 DUP8 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x7BA DUP7 DUP3 DUP8 ADD PUSH2 0x6FB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7E5 DUP6 DUP3 DUP7 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x7F6 DUP6 DUP3 DUP7 ADD PUSH2 0x6FB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x809 DUP2 PUSH2 0x9ED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x81A DUP3 PUSH2 0x935 JUMP JUMPDEST PUSH2 0x824 DUP2 DUP6 PUSH2 0x940 JUMP JUMPDEST SWAP4 POP PUSH2 0x834 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA23 JUMP JUMPDEST PUSH2 0x83D DUP2 PUSH2 0xAE6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x855 PUSH1 0x16 DUP4 PUSH2 0x940 JUMP JUMPDEST SWAP2 POP PUSH2 0x860 DUP3 PUSH2 0xAF7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x878 PUSH1 0x19 DUP4 PUSH2 0x940 JUMP JUMPDEST SWAP2 POP PUSH2 0x883 DUP3 PUSH2 0xB20 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x897 DUP2 PUSH2 0xA19 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8B2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x800 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8D2 DUP2 DUP5 PUSH2 0x80F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8F3 DUP2 PUSH2 0x848 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x913 DUP2 PUSH2 0x86B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x92F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x88E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x95C DUP3 PUSH2 0xA19 JUMP JUMPDEST SWAP2 POP PUSH2 0x967 DUP4 PUSH2 0xA19 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x99C JUMPI PUSH2 0x99B PUSH2 0xA88 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9B2 DUP3 PUSH2 0xA19 JUMP JUMPDEST SWAP2 POP PUSH2 0x9BD DUP4 PUSH2 0xA19 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x9D0 JUMPI PUSH2 0x9CF PUSH2 0xA88 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E6 DUP3 PUSH2 0x9F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA41 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA26 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xA50 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xA6E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xA82 JUMPI PUSH2 0xA81 PUSH2 0xAB7 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5472616E736665727265642076616C7565206973207A65726F00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xB52 DUP2 PUSH2 0x9DB JUMP JUMPDEST DUP2 EQ PUSH2 0xB5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xB69 DUP2 PUSH2 0xA19 JUMP JUMPDEST DUP2 EQ PUSH2 0xB74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 0xE9 PUSH2 0x870C SWAP14 PUSH13 0xD505270DF5DA0C70D49A8F6CB7 0xE0 0x4D GAS SUB 0xB1 PUSH7 0x37783BE136E764 PUSH20 0x6F6C634300080400330000000000000000000000 ","sourceMap":"1241:119:3:-:0;;;119:1;96:24;;1293:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1329:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1241:119;;;;;;;;;;292:13;278:11;:27;;;;335:11;;311:9;:21;321:10;311:21;;;;;;;;;;;;;;;:35;;;;1241:119;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:4:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:2;;212:4;204:6;200:17;190:27;;146:2;274;266:6;263:14;243:18;240:38;237:2;;;293:18;;:::i;:::-;237:2;58:269;;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;1241:119:3;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7847:4","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:4","statements":[{"nodeType":"YulAssignment","src":"69:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:4"},"nodeType":"YulFunctionCall","src":"78:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"107:26:4"},"nodeType":"YulFunctionCall","src":"107:33:4"},"nodeType":"YulExpressionStatement","src":"107:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:4","type":""}],"src":"7:139:4"},{"body":{"nodeType":"YulBlock","src":"204:87:4","statements":[{"nodeType":"YulAssignment","src":"214:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"236:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"223:12:4"},"nodeType":"YulFunctionCall","src":"223:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"214:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"279:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"252:26:4"},"nodeType":"YulFunctionCall","src":"252:33:4"},"nodeType":"YulExpressionStatement","src":"252:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"182:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"190:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"198:5:4","type":""}],"src":"152:139:4"},{"body":{"nodeType":"YulBlock","src":"363:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"409:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"418:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"421:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"411:6:4"},"nodeType":"YulFunctionCall","src":"411:12:4"},"nodeType":"YulExpressionStatement","src":"411:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"384:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"393:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"380:3:4"},"nodeType":"YulFunctionCall","src":"380:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"405:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"376:3:4"},"nodeType":"YulFunctionCall","src":"376:32:4"},"nodeType":"YulIf","src":"373:2:4"},{"nodeType":"YulBlock","src":"435:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"450:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"464:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"454:6:4","type":""}]},{"nodeType":"YulAssignment","src":"479:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"514:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"525:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"510:3:4"},"nodeType":"YulFunctionCall","src":"510:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"534:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"489:20:4"},"nodeType":"YulFunctionCall","src":"489:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"479:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"333:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"344:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"356:6:4","type":""}],"src":"297:262:4"},{"body":{"nodeType":"YulBlock","src":"648:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"694:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"703:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"706:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"696:6:4"},"nodeType":"YulFunctionCall","src":"696:12:4"},"nodeType":"YulExpressionStatement","src":"696:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"669:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"678:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"665:3:4"},"nodeType":"YulFunctionCall","src":"665:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"690:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"661:3:4"},"nodeType":"YulFunctionCall","src":"661:32:4"},"nodeType":"YulIf","src":"658:2:4"},{"nodeType":"YulBlock","src":"720:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"735:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"749:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"739:6:4","type":""}]},{"nodeType":"YulAssignment","src":"764:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"799:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"810:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"795:3:4"},"nodeType":"YulFunctionCall","src":"795:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"819:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"774:20:4"},"nodeType":"YulFunctionCall","src":"774:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"764:6:4"}]}]},{"nodeType":"YulBlock","src":"847:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"862:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"876:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"866:6:4","type":""}]},{"nodeType":"YulAssignment","src":"892:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"927:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"938:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"923:3:4"},"nodeType":"YulFunctionCall","src":"923:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"947:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"902:20:4"},"nodeType":"YulFunctionCall","src":"902:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"892:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"610:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"621:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"633:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"641:6:4","type":""}],"src":"565:407:4"},{"body":{"nodeType":"YulBlock","src":"1078:452:4","statements":[{"body":{"nodeType":"YulBlock","src":"1124:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1133:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1136:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1126:6:4"},"nodeType":"YulFunctionCall","src":"1126:12:4"},"nodeType":"YulExpressionStatement","src":"1126:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1099:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1108:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1095:3:4"},"nodeType":"YulFunctionCall","src":"1095:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1120:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1091:3:4"},"nodeType":"YulFunctionCall","src":"1091:32:4"},"nodeType":"YulIf","src":"1088:2:4"},{"nodeType":"YulBlock","src":"1150:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1165:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1179:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1169:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1194:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1229:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1240:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1225:3:4"},"nodeType":"YulFunctionCall","src":"1225:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1249:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1204:20:4"},"nodeType":"YulFunctionCall","src":"1204:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1194:6:4"}]}]},{"nodeType":"YulBlock","src":"1277:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1292:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1306:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1296:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1322:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1357:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1368:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1353:3:4"},"nodeType":"YulFunctionCall","src":"1353:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1377:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1332:20:4"},"nodeType":"YulFunctionCall","src":"1332:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1322:6:4"}]}]},{"nodeType":"YulBlock","src":"1405:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1420:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1434:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1424:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1450:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1485:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1496:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1481:3:4"},"nodeType":"YulFunctionCall","src":"1481:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1505:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1460:20:4"},"nodeType":"YulFunctionCall","src":"1460:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1450:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1032:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1043:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1055:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1063:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1071:6:4","type":""}],"src":"978:552:4"},{"body":{"nodeType":"YulBlock","src":"1619:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"1665:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1674:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1677:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1667:6:4"},"nodeType":"YulFunctionCall","src":"1667:12:4"},"nodeType":"YulExpressionStatement","src":"1667:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1640:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1649:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1636:3:4"},"nodeType":"YulFunctionCall","src":"1636:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1661:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1632:3:4"},"nodeType":"YulFunctionCall","src":"1632:32:4"},"nodeType":"YulIf","src":"1629:2:4"},{"nodeType":"YulBlock","src":"1691:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1706:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1720:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1710:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1735:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1770:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1781:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1766:3:4"},"nodeType":"YulFunctionCall","src":"1766:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1790:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1745:20:4"},"nodeType":"YulFunctionCall","src":"1745:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1735:6:4"}]}]},{"nodeType":"YulBlock","src":"1818:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1833:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1847:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1837:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1863:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1898:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1909:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1894:3:4"},"nodeType":"YulFunctionCall","src":"1894:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1918:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1873:20:4"},"nodeType":"YulFunctionCall","src":"1873:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1863:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1581:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1592:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1604:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1612:6:4","type":""}],"src":"1536:407:4"},{"body":{"nodeType":"YulBlock","src":"2008:50:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2025:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2045:5:4"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"2030:14:4"},"nodeType":"YulFunctionCall","src":"2030:21:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2018:6:4"},"nodeType":"YulFunctionCall","src":"2018:34:4"},"nodeType":"YulExpressionStatement","src":"2018:34:4"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1996:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2003:3:4","type":""}],"src":"1949:109:4"},{"body":{"nodeType":"YulBlock","src":"2156:272:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2166:53:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2213:5:4"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"2180:32:4"},"nodeType":"YulFunctionCall","src":"2180:39:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2170:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2228:78:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2294:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"2299:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2235:58:4"},"nodeType":"YulFunctionCall","src":"2235:71:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2228:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2341:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"2348:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2337:3:4"},"nodeType":"YulFunctionCall","src":"2337:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"2355:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"2360:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2315:21:4"},"nodeType":"YulFunctionCall","src":"2315:52:4"},"nodeType":"YulExpressionStatement","src":"2315:52:4"},{"nodeType":"YulAssignment","src":"2376:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2387:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2414:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2392:21:4"},"nodeType":"YulFunctionCall","src":"2392:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2383:3:4"},"nodeType":"YulFunctionCall","src":"2383:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2376:3:4"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2137:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2144:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2152:3:4","type":""}],"src":"2064:364:4"},{"body":{"nodeType":"YulBlock","src":"2580:220:4","statements":[{"nodeType":"YulAssignment","src":"2590:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2656:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2661:2:4","type":"","value":"22"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2597:58:4"},"nodeType":"YulFunctionCall","src":"2597:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2590:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2762:3:4"}],"functionName":{"name":"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","nodeType":"YulIdentifier","src":"2673:88:4"},"nodeType":"YulFunctionCall","src":"2673:93:4"},"nodeType":"YulExpressionStatement","src":"2673:93:4"},{"nodeType":"YulAssignment","src":"2775:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2786:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2791:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2782:3:4"},"nodeType":"YulFunctionCall","src":"2782:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2775:3:4"}]}]},"name":"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2568:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2576:3:4","type":""}],"src":"2434:366:4"},{"body":{"nodeType":"YulBlock","src":"2952:220:4","statements":[{"nodeType":"YulAssignment","src":"2962:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3028:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"3033:2:4","type":"","value":"25"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2969:58:4"},"nodeType":"YulFunctionCall","src":"2969:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2962:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3134:3:4"}],"functionName":{"name":"store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","nodeType":"YulIdentifier","src":"3045:88:4"},"nodeType":"YulFunctionCall","src":"3045:93:4"},"nodeType":"YulExpressionStatement","src":"3045:93:4"},{"nodeType":"YulAssignment","src":"3147:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3158:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"3163:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3154:3:4"},"nodeType":"YulFunctionCall","src":"3154:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3147:3:4"}]}]},"name":"abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2940:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2948:3:4","type":""}],"src":"2806:366:4"},{"body":{"nodeType":"YulBlock","src":"3243:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3260:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3283:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3265:17:4"},"nodeType":"YulFunctionCall","src":"3265:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3253:6:4"},"nodeType":"YulFunctionCall","src":"3253:37:4"},"nodeType":"YulExpressionStatement","src":"3253:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3231:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3238:3:4","type":""}],"src":"3178:118:4"},{"body":{"nodeType":"YulBlock","src":"3394:118:4","statements":[{"nodeType":"YulAssignment","src":"3404:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3416:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3427:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3412:3:4"},"nodeType":"YulFunctionCall","src":"3412:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3404:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3478:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3491:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3502:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3487:3:4"},"nodeType":"YulFunctionCall","src":"3487:17:4"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"3440:37:4"},"nodeType":"YulFunctionCall","src":"3440:65:4"},"nodeType":"YulExpressionStatement","src":"3440:65:4"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3366:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3378:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3389:4:4","type":""}],"src":"3302:210:4"},{"body":{"nodeType":"YulBlock","src":"3636:195:4","statements":[{"nodeType":"YulAssignment","src":"3646:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3658:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3669:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3654:3:4"},"nodeType":"YulFunctionCall","src":"3654:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3646:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3693:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3704:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3689:3:4"},"nodeType":"YulFunctionCall","src":"3689:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3712:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3718:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3708:3:4"},"nodeType":"YulFunctionCall","src":"3708:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3682:6:4"},"nodeType":"YulFunctionCall","src":"3682:47:4"},"nodeType":"YulExpressionStatement","src":"3682:47:4"},{"nodeType":"YulAssignment","src":"3738:86:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3810:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"3819:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3746:63:4"},"nodeType":"YulFunctionCall","src":"3746:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3738:4:4"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3608:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3620:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3631:4:4","type":""}],"src":"3518:313:4"},{"body":{"nodeType":"YulBlock","src":"4008:248:4","statements":[{"nodeType":"YulAssignment","src":"4018:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4030:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4041:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4026:3:4"},"nodeType":"YulFunctionCall","src":"4026:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4018:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4065:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4076:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4061:3:4"},"nodeType":"YulFunctionCall","src":"4061:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4084:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4090:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4080:3:4"},"nodeType":"YulFunctionCall","src":"4080:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4054:6:4"},"nodeType":"YulFunctionCall","src":"4054:47:4"},"nodeType":"YulExpressionStatement","src":"4054:47:4"},{"nodeType":"YulAssignment","src":"4110:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4244:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4118:124:4"},"nodeType":"YulFunctionCall","src":"4118:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4110:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3988:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4003:4:4","type":""}],"src":"3837:419:4"},{"body":{"nodeType":"YulBlock","src":"4433:248:4","statements":[{"nodeType":"YulAssignment","src":"4443:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4455:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4466:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4451:3:4"},"nodeType":"YulFunctionCall","src":"4451:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4443:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4490:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4501:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4486:3:4"},"nodeType":"YulFunctionCall","src":"4486:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4509:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4515:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4505:3:4"},"nodeType":"YulFunctionCall","src":"4505:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4479:6:4"},"nodeType":"YulFunctionCall","src":"4479:47:4"},"nodeType":"YulExpressionStatement","src":"4479:47:4"},{"nodeType":"YulAssignment","src":"4535:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4669:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4543:124:4"},"nodeType":"YulFunctionCall","src":"4543:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4535:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4413:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4428:4:4","type":""}],"src":"4262:419:4"},{"body":{"nodeType":"YulBlock","src":"4785:124:4","statements":[{"nodeType":"YulAssignment","src":"4795:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4807:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4818:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4803:3:4"},"nodeType":"YulFunctionCall","src":"4803:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4795:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4875:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4888:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4899:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4884:3:4"},"nodeType":"YulFunctionCall","src":"4884:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"4831:43:4"},"nodeType":"YulFunctionCall","src":"4831:71:4"},"nodeType":"YulExpressionStatement","src":"4831:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4757:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4769:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4780:4:4","type":""}],"src":"4687:222:4"},{"body":{"nodeType":"YulBlock","src":"4974:40:4","statements":[{"nodeType":"YulAssignment","src":"4985:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5001:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4995:5:4"},"nodeType":"YulFunctionCall","src":"4995:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4985:6:4"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4957:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4967:6:4","type":""}],"src":"4915:99:4"},{"body":{"nodeType":"YulBlock","src":"5116:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5133:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"5138:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5126:6:4"},"nodeType":"YulFunctionCall","src":"5126:19:4"},"nodeType":"YulExpressionStatement","src":"5126:19:4"},{"nodeType":"YulAssignment","src":"5154:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5173:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"5178:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5169:3:4"},"nodeType":"YulFunctionCall","src":"5169:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5154:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5088:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"5093:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5104:11:4","type":""}],"src":"5020:169:4"},{"body":{"nodeType":"YulBlock","src":"5239:261:4","statements":[{"nodeType":"YulAssignment","src":"5249:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5272:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5254:17:4"},"nodeType":"YulFunctionCall","src":"5254:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"5249:1:4"}]},{"nodeType":"YulAssignment","src":"5283:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5306:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5288:17:4"},"nodeType":"YulFunctionCall","src":"5288:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"5283:1:4"}]},{"body":{"nodeType":"YulBlock","src":"5446:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5448:16:4"},"nodeType":"YulFunctionCall","src":"5448:18:4"},"nodeType":"YulExpressionStatement","src":"5448:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5367:1:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5374:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"5442:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5370:3:4"},"nodeType":"YulFunctionCall","src":"5370:74:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5364:2:4"},"nodeType":"YulFunctionCall","src":"5364:81:4"},"nodeType":"YulIf","src":"5361:2:4"},{"nodeType":"YulAssignment","src":"5478:16:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5489:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"5492:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5485:3:4"},"nodeType":"YulFunctionCall","src":"5485:9:4"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5478:3:4"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5226:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"5229:1:4","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5235:3:4","type":""}],"src":"5195:305:4"},{"body":{"nodeType":"YulBlock","src":"5551:146:4","statements":[{"nodeType":"YulAssignment","src":"5561:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5584:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5566:17:4"},"nodeType":"YulFunctionCall","src":"5566:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"5561:1:4"}]},{"nodeType":"YulAssignment","src":"5595:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5618:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5600:17:4"},"nodeType":"YulFunctionCall","src":"5600:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"5595:1:4"}]},{"body":{"nodeType":"YulBlock","src":"5642:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5644:16:4"},"nodeType":"YulFunctionCall","src":"5644:18:4"},"nodeType":"YulExpressionStatement","src":"5644:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5636:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"5639:1:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5633:2:4"},"nodeType":"YulFunctionCall","src":"5633:8:4"},"nodeType":"YulIf","src":"5630:2:4"},{"nodeType":"YulAssignment","src":"5674:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5686:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"5689:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5682:3:4"},"nodeType":"YulFunctionCall","src":"5682:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"5674:4:4"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5537:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"5540:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"5546:4:4","type":""}],"src":"5506:191:4"},{"body":{"nodeType":"YulBlock","src":"5748:51:4","statements":[{"nodeType":"YulAssignment","src":"5758:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5787:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"5769:17:4"},"nodeType":"YulFunctionCall","src":"5769:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5758:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5730:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5740:7:4","type":""}],"src":"5703:96:4"},{"body":{"nodeType":"YulBlock","src":"5847:48:4","statements":[{"nodeType":"YulAssignment","src":"5857:32:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5882:5:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5875:6:4"},"nodeType":"YulFunctionCall","src":"5875:13:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5868:6:4"},"nodeType":"YulFunctionCall","src":"5868:21:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5857:7:4"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5829:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5839:7:4","type":""}],"src":"5805:90:4"},{"body":{"nodeType":"YulBlock","src":"5946:81:4","statements":[{"nodeType":"YulAssignment","src":"5956:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5971:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"5978:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5967:3:4"},"nodeType":"YulFunctionCall","src":"5967:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5956:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5928:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5938:7:4","type":""}],"src":"5901:126:4"},{"body":{"nodeType":"YulBlock","src":"6078:32:4","statements":[{"nodeType":"YulAssignment","src":"6088:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"6099:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6088:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6060:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6070:7:4","type":""}],"src":"6033:77:4"},{"body":{"nodeType":"YulBlock","src":"6165:258:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6175:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6184:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6179:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6244:63:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6269:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"6274:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6265:3:4"},"nodeType":"YulFunctionCall","src":"6265:11:4"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6288:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"6293:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6284:3:4"},"nodeType":"YulFunctionCall","src":"6284:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6278:5:4"},"nodeType":"YulFunctionCall","src":"6278:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6258:6:4"},"nodeType":"YulFunctionCall","src":"6258:39:4"},"nodeType":"YulExpressionStatement","src":"6258:39:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6205:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6208:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6202:2:4"},"nodeType":"YulFunctionCall","src":"6202:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6216:19:4","statements":[{"nodeType":"YulAssignment","src":"6218:15:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6227:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"6230:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6223:3:4"},"nodeType":"YulFunctionCall","src":"6223:10:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6218:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"6198:3:4","statements":[]},"src":"6194:113:4"},{"body":{"nodeType":"YulBlock","src":"6341:76:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6391:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"6396:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6387:3:4"},"nodeType":"YulFunctionCall","src":"6387:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"6405:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6380:6:4"},"nodeType":"YulFunctionCall","src":"6380:27:4"},"nodeType":"YulExpressionStatement","src":"6380:27:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6322:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6325:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6319:2:4"},"nodeType":"YulFunctionCall","src":"6319:13:4"},"nodeType":"YulIf","src":"6316:2:4"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6147:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6152:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"6157:6:4","type":""}],"src":"6116:307:4"},{"body":{"nodeType":"YulBlock","src":"6480:269:4","statements":[{"nodeType":"YulAssignment","src":"6490:22:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6504:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"6510:1:4","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6500:3:4"},"nodeType":"YulFunctionCall","src":"6500:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6490:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"6521:38:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6551:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"6557:1:4","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6547:3:4"},"nodeType":"YulFunctionCall","src":"6547:12:4"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"6525:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6598:51:4","statements":[{"nodeType":"YulAssignment","src":"6612:27:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6626:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6634:4:4","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6622:3:4"},"nodeType":"YulFunctionCall","src":"6622:17:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6612:6:4"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6578:18:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6571:6:4"},"nodeType":"YulFunctionCall","src":"6571:26:4"},"nodeType":"YulIf","src":"6568:2:4"},{"body":{"nodeType":"YulBlock","src":"6701:42:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"6715:16:4"},"nodeType":"YulFunctionCall","src":"6715:18:4"},"nodeType":"YulExpressionStatement","src":"6715:18:4"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6665:18:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6688:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6696:2:4","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6685:2:4"},"nodeType":"YulFunctionCall","src":"6685:14:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6662:2:4"},"nodeType":"YulFunctionCall","src":"6662:38:4"},"nodeType":"YulIf","src":"6659:2:4"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6464:4:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6473:6:4","type":""}],"src":"6429:320:4"},{"body":{"nodeType":"YulBlock","src":"6783:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6800:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6803:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6793:6:4"},"nodeType":"YulFunctionCall","src":"6793:88:4"},"nodeType":"YulExpressionStatement","src":"6793:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6897:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6900:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6890:6:4"},"nodeType":"YulFunctionCall","src":"6890:15:4"},"nodeType":"YulExpressionStatement","src":"6890:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6921:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6924:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6914:6:4"},"nodeType":"YulFunctionCall","src":"6914:15:4"},"nodeType":"YulExpressionStatement","src":"6914:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"6755:180:4"},{"body":{"nodeType":"YulBlock","src":"6969:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6986:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6989:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6979:6:4"},"nodeType":"YulFunctionCall","src":"6979:88:4"},"nodeType":"YulExpressionStatement","src":"6979:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7083:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7086:4:4","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7076:6:4"},"nodeType":"YulFunctionCall","src":"7076:15:4"},"nodeType":"YulExpressionStatement","src":"7076:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7107:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7110:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7100:6:4"},"nodeType":"YulFunctionCall","src":"7100:15:4"},"nodeType":"YulExpressionStatement","src":"7100:15:4"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"6941:180:4"},{"body":{"nodeType":"YulBlock","src":"7175:54:4","statements":[{"nodeType":"YulAssignment","src":"7185:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7203:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7210:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7199:3:4"},"nodeType":"YulFunctionCall","src":"7199:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7219:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7215:3:4"},"nodeType":"YulFunctionCall","src":"7215:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7195:3:4"},"nodeType":"YulFunctionCall","src":"7195:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"7185:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7158:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"7168:6:4","type":""}],"src":"7127:102:4"},{"body":{"nodeType":"YulBlock","src":"7341:66:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7363:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"7371:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7359:3:4"},"nodeType":"YulFunctionCall","src":"7359:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"7375:24:4","type":"","value":"Insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7352:6:4"},"nodeType":"YulFunctionCall","src":"7352:48:4"},"nodeType":"YulExpressionStatement","src":"7352:48:4"}]},"name":"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"7333:6:4","type":""}],"src":"7235:172:4"},{"body":{"nodeType":"YulBlock","src":"7519:69:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7541:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"7549:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7537:3:4"},"nodeType":"YulFunctionCall","src":"7537:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"7553:27:4","type":"","value":"Transferred value is zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7530:6:4"},"nodeType":"YulFunctionCall","src":"7530:51:4"},"nodeType":"YulExpressionStatement","src":"7530:51:4"}]},"name":"store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"7511:6:4","type":""}],"src":"7413:175:4"},{"body":{"nodeType":"YulBlock","src":"7637:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"7694:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7703:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7706:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7696:6:4"},"nodeType":"YulFunctionCall","src":"7696:12:4"},"nodeType":"YulExpressionStatement","src":"7696:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7660:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7685:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"7667:17:4"},"nodeType":"YulFunctionCall","src":"7667:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7657:2:4"},"nodeType":"YulFunctionCall","src":"7657:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7650:6:4"},"nodeType":"YulFunctionCall","src":"7650:43:4"},"nodeType":"YulIf","src":"7647:2:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7630:5:4","type":""}],"src":"7594:122:4"},{"body":{"nodeType":"YulBlock","src":"7765:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"7822:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7831:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7834:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7824:6:4"},"nodeType":"YulFunctionCall","src":"7824:12:4"},"nodeType":"YulExpressionStatement","src":"7824:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7788:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7813:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"7795:17:4"},"nodeType":"YulFunctionCall","src":"7795:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7785:2:4"},"nodeType":"YulFunctionCall","src":"7785:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7778:6:4"},"nodeType":"YulFunctionCall","src":"7778:43:4"},"nodeType":"YulIf","src":"7775:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7758:5:4","type":""}],"src":"7722:122:4"}]},"contents":"{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient allowance\")\n\n }\n\n function store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c(memPtr) {\n\n mstore(add(memPtr, 0), \"Transferred value is zero\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad91906108b8565b60405180910390f35b6100d060048036038101906100cb91906107c4565b61028e565b6040516100dd919061089d565b60405180910390f35b6100ee61031b565b6040516100fb919061091a565b60405180910390f35b61011e60048036038101906101199190610775565b610321565b60405161012b919061089d565b60405180910390f35b61013c6104b9565b604051610149919061091a565b60405180910390f35b61016c60048036038101906101679190610710565b6104bf565b604051610179919061091a565b60405180910390f35b61018a6104d7565b60405161019791906108b8565b60405180910390f35b6101ba60048036038101906101b591906107c4565b610565565b6040516101c7919061089d565b60405180910390f35b6101ea60048036038101906101e59190610739565b61065f565b6040516101f7919061091a565b60405180910390f35b6004805461020d90610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610a56565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161032e853361065f565b101561036f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610366906108da565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103fb91906109a7565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045191906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104a79190610951565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600580546104e490610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610a56565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b60008082116105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a0906108fa565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105f891906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461064e9190610951565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000813590506106f581610b49565b92915050565b60008135905061070a81610b60565b92915050565b60006020828403121561072257600080fd5b6000610730848285016106e6565b91505092915050565b6000806040838503121561074c57600080fd5b600061075a858286016106e6565b925050602061076b858286016106e6565b9150509250929050565b60008060006060848603121561078a57600080fd5b6000610798868287016106e6565b93505060206107a9868287016106e6565b92505060406107ba868287016106fb565b9150509250925092565b600080604083850312156107d757600080fd5b60006107e5858286016106e6565b92505060206107f6858286016106fb565b9150509250929050565b610809816109ed565b82525050565b600061081a82610935565b6108248185610940565b9350610834818560208601610a23565b61083d81610ae6565b840191505092915050565b6000610855601683610940565b915061086082610af7565b602082019050919050565b6000610878601983610940565b915061088382610b20565b602082019050919050565b61089781610a19565b82525050565b60006020820190506108b26000830184610800565b92915050565b600060208201905081810360008301526108d2818461080f565b905092915050565b600060208201905081810360008301526108f381610848565b9050919050565b600060208201905081810360008301526109138161086b565b9050919050565b600060208201905061092f600083018461088e565b92915050565b600081519050919050565b600082825260208201905092915050565b600061095c82610a19565b915061096783610a19565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561099c5761099b610a88565b5b828201905092915050565b60006109b282610a19565b91506109bd83610a19565b9250828210156109d0576109cf610a88565b5b828203905092915050565b60006109e6826109f9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610a41578082015181840152602081019050610a26565b83811115610a50576000848401525b50505050565b60006002820490506001821680610a6e57607f821691505b60208210811415610a8257610a81610ab7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610b52816109db565b8114610b5d57600080fd5b50565b610b6981610a19565b8114610b7457600080fd5b5056fea26469706673582212208ce961870c9d6cd505270df5da0c70d49a8f6cb7e04d5a03b16637783be136e764736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x93 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x152 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x182 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1D0 JUMPI PUSH2 0x93 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xE6 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x104 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xA0 PUSH2 0x200 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xAD SWAP2 SWAP1 PUSH2 0x8B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xD0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xCB SWAP2 SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH2 0x28E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xDD SWAP2 SWAP1 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEE PUSH2 0x31B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xFB SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x11E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x119 SWAP2 SWAP1 PUSH2 0x775 JUMP JUMPDEST PUSH2 0x321 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x13C PUSH2 0x4B9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x149 SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x16C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x167 SWAP2 SWAP1 PUSH2 0x710 JUMP JUMPDEST PUSH2 0x4BF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x179 SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x18A PUSH2 0x4D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0x8B8 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1BA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1B5 SWAP2 SWAP1 PUSH2 0x7C4 JUMP JUMPDEST PUSH2 0x565 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1C7 SWAP2 SWAP1 PUSH2 0x89D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1EA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E5 SWAP2 SWAP1 PUSH2 0x739 JUMP JUMPDEST PUSH2 0x65F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1F7 SWAP2 SWAP1 PUSH2 0x91A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x20D SWAP1 PUSH2 0xA56 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 0x239 SWAP1 PUSH2 0xA56 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x286 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x25B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x286 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 0x269 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x32E DUP6 CALLER PUSH2 0x65F JUMP JUMPDEST LT ISZERO PUSH2 0x36F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x366 SWAP1 PUSH2 0x8DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3FB SWAP2 SWAP1 PUSH2 0x9A7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x451 SWAP2 SWAP1 PUSH2 0x9A7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4A7 SWAP2 SWAP1 PUSH2 0x951 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x5 DUP1 SLOAD PUSH2 0x4E4 SWAP1 PUSH2 0xA56 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 0x510 SWAP1 PUSH2 0xA56 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x55D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x532 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x55D 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 0x540 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x5A9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5A0 SWAP1 PUSH2 0x8FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x5F8 SWAP2 SWAP1 PUSH2 0x9A7 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x64E SWAP2 SWAP1 PUSH2 0x951 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x6F5 DUP2 PUSH2 0xB49 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x70A DUP2 PUSH2 0xB60 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x722 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x730 DUP5 DUP3 DUP6 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x74C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x75A DUP6 DUP3 DUP7 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x76B DUP6 DUP3 DUP7 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x78A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x798 DUP7 DUP3 DUP8 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x7A9 DUP7 DUP3 DUP8 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x7BA DUP7 DUP3 DUP8 ADD PUSH2 0x6FB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x7D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x7E5 DUP6 DUP3 DUP7 ADD PUSH2 0x6E6 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x7F6 DUP6 DUP3 DUP7 ADD PUSH2 0x6FB JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x809 DUP2 PUSH2 0x9ED JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x81A DUP3 PUSH2 0x935 JUMP JUMPDEST PUSH2 0x824 DUP2 DUP6 PUSH2 0x940 JUMP JUMPDEST SWAP4 POP PUSH2 0x834 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xA23 JUMP JUMPDEST PUSH2 0x83D DUP2 PUSH2 0xAE6 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x855 PUSH1 0x16 DUP4 PUSH2 0x940 JUMP JUMPDEST SWAP2 POP PUSH2 0x860 DUP3 PUSH2 0xAF7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x878 PUSH1 0x19 DUP4 PUSH2 0x940 JUMP JUMPDEST SWAP2 POP PUSH2 0x883 DUP3 PUSH2 0xB20 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x897 DUP2 PUSH2 0xA19 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x8B2 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x800 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8D2 DUP2 DUP5 PUSH2 0x80F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x8F3 DUP2 PUSH2 0x848 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x913 DUP2 PUSH2 0x86B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x92F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x88E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x95C DUP3 PUSH2 0xA19 JUMP JUMPDEST SWAP2 POP PUSH2 0x967 DUP4 PUSH2 0xA19 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x99C JUMPI PUSH2 0x99B PUSH2 0xA88 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9B2 DUP3 PUSH2 0xA19 JUMP JUMPDEST SWAP2 POP PUSH2 0x9BD DUP4 PUSH2 0xA19 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x9D0 JUMPI PUSH2 0x9CF PUSH2 0xA88 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9E6 DUP3 PUSH2 0x9F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xA41 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA26 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0xA50 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0xA6E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0xA82 JUMPI PUSH2 0xA81 PUSH2 0xAB7 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5472616E736665727265642076616C7565206973207A65726F00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xB52 DUP2 PUSH2 0x9DB JUMP JUMPDEST DUP2 EQ PUSH2 0xB5D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xB69 DUP2 PUSH2 0xA19 JUMP JUMPDEST DUP2 EQ PUSH2 0xB74 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP13 0xE9 PUSH2 0x870C SWAP14 PUSH13 0xD505270DF5DA0C70D49A8F6CB7 0xE0 0x4D GAS SUB 0xB1 PUSH7 0x37783BE136E764 PUSH20 0x6F6C634300080400330000000000000000000000 ","sourceMap":"1241:119:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1293:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;703:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;125:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;853:287;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;96:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;152:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1329:28;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;355:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;564:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1293:32;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;703:146::-;768:12;822:5;788:10;:22;799:10;788:22;;;;;;;;;;;;;;;:31;811:7;788:31;;;;;;;;;;;;;;;:39;;;;840:4;833:11;;703:146;;;;:::o;125:23::-;;;;:::o;853:287::-;932:4;983:5;952:27;962:4;968:10;952:9;:27::i;:::-;:36;;944:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1054:5;1022:10;:16;1033:4;1022:16;;;;;;;;;;;;;;;:28;1039:10;1022:28;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;1084:5;1065:9;:15;1075:4;1065:15;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;1112:5;1095:9;:13;1105:2;1095:13;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;1131:4;1124:11;;853:287;;;;;:::o;96:24::-;;;;:::o;152:41::-;;;;;;;;;;;;;;;;;:::o;1329:28::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;355:205::-;413:4;441:1;433:5;:9;425:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;504:5;479:9;:21;489:10;479:21;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;532:5;515:9;:13;525:2;515:13;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;551:4;544:11;;355:205;;;;:::o;564:135::-;636:17;668:10;:17;679:5;668:17;;;;;;;;;;;;;;;:26;686:7;668:26;;;;;;;;;;;;;;;;661:33;;564:135;;;;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;2152:3;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:366::-;2576:3;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2673:93;2762:3;2673:93;:::i;:::-;2791:2;2786:3;2782:12;2775:19;;2580:220;;;:::o;2806:366::-;2948:3;2969:67;3033:2;3028:3;2969:67;:::i;:::-;2962:74;;3045:93;3134:3;3045:93;:::i;:::-;3163:2;3158:3;3154:12;3147:19;;2952:220;;;:::o;3178:118::-;3265:24;3283:5;3265:24;:::i;:::-;3260:3;3253:37;3243:53;;:::o;3302:210::-;3389:4;3427:2;3416:9;3412:18;3404:26;;3440:65;3502:1;3491:9;3487:17;3478:6;3440:65;:::i;:::-;3394:118;;;;:::o;3518:313::-;3631:4;3669:2;3658:9;3654:18;3646:26;;3718:9;3712:4;3708:20;3704:1;3693:9;3689:17;3682:47;3746:78;3819:4;3810:6;3746:78;:::i;:::-;3738:86;;3636:195;;;;:::o;3837:419::-;4003:4;4041:2;4030:9;4026:18;4018:26;;4090:9;4084:4;4080:20;4076:1;4065:9;4061:17;4054:47;4118:131;4244:4;4118:131;:::i;:::-;4110:139;;4008:248;;;:::o;4262:419::-;4428:4;4466:2;4455:9;4451:18;4443:26;;4515:9;4509:4;4505:20;4501:1;4490:9;4486:17;4479:47;4543:131;4669:4;4543:131;:::i;:::-;4535:139;;4433:248;;;:::o;4687:222::-;4780:4;4818:2;4807:9;4803:18;4795:26;;4831:71;4899:1;4888:9;4884:17;4875:6;4831:71;:::i;:::-;4785:124;;;;:::o;4915:99::-;4967:6;5001:5;4995:12;4985:22;;4974:40;;;:::o;5020:169::-;5104:11;5138:6;5133:3;5126:19;5178:4;5173:3;5169:14;5154:29;;5116:73;;;;:::o;5195:305::-;5235:3;5254:20;5272:1;5254:20;:::i;:::-;5249:25;;5288:20;5306:1;5288:20;:::i;:::-;5283:25;;5442:1;5374:66;5370:74;5367:1;5364:81;5361:2;;;5448:18;;:::i;:::-;5361:2;5492:1;5489;5485:9;5478:16;;5239:261;;;;:::o;5506:191::-;5546:4;5566:20;5584:1;5566:20;:::i;:::-;5561:25;;5600:20;5618:1;5600:20;:::i;:::-;5595:25;;5639:1;5636;5633:8;5630:2;;;5644:18;;:::i;:::-;5630:2;5689:1;5686;5682:9;5674:17;;5551:146;;;;:::o;5703:96::-;5740:7;5769:24;5787:5;5769:24;:::i;:::-;5758:35;;5748:51;;;:::o;5805:90::-;5839:7;5882:5;5875:13;5868:21;5857:32;;5847:48;;;:::o;5901:126::-;5938:7;5978:42;5971:5;5967:54;5956:65;;5946:81;;;:::o;6033:77::-;6070:7;6099:5;6088:16;;6078:32;;;:::o;6116:307::-;6184:1;6194:113;6208:6;6205:1;6202:13;6194:113;;;6293:1;6288:3;6284:11;6278:18;6274:1;6269:3;6265:11;6258:39;6230:2;6227:1;6223:10;6218:15;;6194:113;;;6325:6;6322:1;6319:13;6316:2;;;6405:1;6396:6;6391:3;6387:16;6380:27;6316:2;6165:258;;;;:::o;6429:320::-;6473:6;6510:1;6504:4;6500:12;6490:22;;6557:1;6551:4;6547:12;6578:18;6568:2;;6634:4;6626:6;6622:17;6612:27;;6568:2;6696;6688:6;6685:14;6665:18;6662:38;6659:2;;;6715:18;;:::i;:::-;6659:2;6480:269;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:180;6989:77;6986:1;6979:88;7086:4;7083:1;7076:15;7110:4;7107:1;7100:15;7127:102;7168:6;7219:2;7215:7;7210:2;7203:5;7199:14;7195:28;7185:38;;7175:54;;;:::o;7235:172::-;7375:24;7371:1;7363:6;7359:14;7352:48;7341:66;:::o;7413:175::-;7553:27;7549:1;7541:6;7537:14;7530:51;7519:69;:::o;7594:122::-;7667:24;7685:5;7667:24;:::i;:::-;7660:5;7657:35;7647:2;;7706:1;7703;7696:12;7647:2;7637:79;:::o;7722:122::-;7795:24;7813:5;7795:24;:::i;:::-;7788:5;7785:35;7775:2;;7834:1;7831;7824:12;7775:2;7765:79;:::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Token.sol\":\"MockToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Token.sol\":{\"keccak256\":\"0x3c98df2a7295115a107e950c40733f37ce5384cf18a0b5efb948ccf6d1acaa59\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21c0d9ad7fee4c50e057a477ec0c151985566e51e1df46d3dc42f4320eceeccf\",\"dweb:/ipfs/QmSVvnCWd9MH3F93atgJGuwbHMJpifnoMLSosQsZUKUrZ8\"]}},\"version\":1}"},"NotAToken":{"abi":[],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212209449725821c33b87347a40f451b2c6483bf5505349fe39bcd25604669e50f33364736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3F DUP1 PUSH1 0x1D PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP5 0x49 PUSH19 0x5821C33B87347A40F451B2C6483BF5505349FE CODECOPY 0xBC 0xD2 JUMP DIV PUSH7 0x9E50F33364736F PUSH13 0x63430008040033000000000000 ","sourceMap":"1362:21:3:-:0;;;;;;;;;;;;;;;;;;;"},"deployedBytecode":{"generatedSources":[],"immutableReferences":{},"linkReferences":{},"object":"6080604052600080fdfea26469706673582212209449725821c33b87347a40f451b2c6483bf5505349fe39bcd25604669e50f33364736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP5 0x49 PUSH19 0x5821C33B87347A40F451B2C6483BF5505349FE CODECOPY 0xBC 0xD2 JUMP DIV PUSH7 0x9E50F33364736F PUSH13 0x63430008040033000000000000 ","sourceMap":"1362:21:3:-:0;;;;;"},"methodIdentifiers":{}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Token.sol\":\"NotAToken\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Token.sol\":{\"keccak256\":\"0x3c98df2a7295115a107e950c40733f37ce5384cf18a0b5efb948ccf6d1acaa59\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21c0d9ad7fee4c50e057a477ec0c151985566e51e1df46d3dc42f4320eceeccf\",\"dweb:/ipfs/QmSVvnCWd9MH3F93atgJGuwbHMJpifnoMLSosQsZUKUrZ8\"]}},\"version\":1}"},"TokenWithOnlyName":{"abi":[{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:516:4","statements":[{"body":{"nodeType":"YulBlock","src":"58:269:4","statements":[{"nodeType":"YulAssignment","src":"68:22:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"82:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"88:1:4","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"78:3:4"},"nodeType":"YulFunctionCall","src":"78:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"68:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"99:38:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"129:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"135:1:4","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"125:3:4"},"nodeType":"YulFunctionCall","src":"125:12:4"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"103:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"176:51:4","statements":[{"nodeType":"YulAssignment","src":"190:27:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"204:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"212:4:4","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"200:3:4"},"nodeType":"YulFunctionCall","src":"200:17:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"190:6:4"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"156:18:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"149:6:4"},"nodeType":"YulFunctionCall","src":"149:26:4"},"nodeType":"YulIf","src":"146:2:4"},{"body":{"nodeType":"YulBlock","src":"279:42:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"293:16:4"},"nodeType":"YulFunctionCall","src":"293:18:4"},"nodeType":"YulExpressionStatement","src":"293:18:4"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"243:18:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"266:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"274:2:4","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"263:2:4"},"nodeType":"YulFunctionCall","src":"263:14:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"240:2:4"},"nodeType":"YulFunctionCall","src":"240:38:4"},"nodeType":"YulIf","src":"237:2:4"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"42:4:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"51:6:4","type":""}],"src":"7:320:4"},{"body":{"nodeType":"YulBlock","src":"361:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"378:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"381:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"371:6:4"},"nodeType":"YulFunctionCall","src":"371:88:4"},"nodeType":"YulExpressionStatement","src":"371:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"475:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"478:4:4","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"468:6:4"},"nodeType":"YulFunctionCall","src":"468:15:4"},"nodeType":"YulExpressionStatement","src":"468:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"499:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"502:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"492:6:4"},"nodeType":"YulFunctionCall","src":"492:15:4"},"nodeType":"YulExpressionStatement","src":"492:15:4"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"333:180:4"}]},"contents":"{\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"linkReferences":{},"object":"608060405260016000556040518060400160405280600981526020017f4d6f636b546f6b656e0000000000000000000000000000000000000000000000815250600490805190602001906100549291906100b8565b5034801561006157600080fd5b50633b9aca00600181905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506101bc565b8280546100c49061015b565b90600052602060002090601f0160209004810192826100e6576000855561012d565b82601f106100ff57805160ff191683800117855561012d565b8280016001018555821561012d579182015b8281111561012c578251825591602001919060010190610111565b5b50905061013a919061013e565b5090565b5b8082111561015757600081600090555060010161013f565b5090565b6000600282049050600182168061017357607f821691505b602082108114156101875761018661018d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b610af6806101cb6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063313ce5671161005b578063313ce5671461012957806370a0823114610147578063a9059cbb14610177578063dd62ed3e146101a757610088565b806306fdde031461008d578063095ea7b3146100ab57806318160ddd146100db57806323b872dd146100f9575b600080fd5b6100956101d7565b6040516100a29190610801565b60405180910390f35b6100c560048036038101906100c0919061070d565b610265565b6040516100d291906107e6565b60405180910390f35b6100e36102f2565b6040516100f09190610863565b60405180910390f35b610113600480360381019061010e91906106be565b6102f8565b60405161012091906107e6565b60405180910390f35b610131610490565b60405161013e9190610863565b60405180910390f35b610161600480360381019061015c9190610659565b610496565b60405161016e9190610863565b60405180910390f35b610191600480360381019061018c919061070d565b6104ae565b60405161019e91906107e6565b60405180910390f35b6101c160048036038101906101bc9190610682565b6105a8565b6040516101ce9190610863565b60405180910390f35b600480546101e49061099f565b80601f01602080910402602001604051908101604052809291908181526020018280546102109061099f565b801561025d5780601f106102325761010080835404028352916020019161025d565b820191906000526020600020905b81548152906001019060200180831161024057829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161030585336105a8565b1015610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033d90610823565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103d291906108f0565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461042891906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461047e919061089a565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b60008082116104f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e990610843565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461054191906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610597919061089a565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008135905061063e81610a92565b92915050565b60008135905061065381610aa9565b92915050565b60006020828403121561066b57600080fd5b60006106798482850161062f565b91505092915050565b6000806040838503121561069557600080fd5b60006106a38582860161062f565b92505060206106b48582860161062f565b9150509250929050565b6000806000606084860312156106d357600080fd5b60006106e18682870161062f565b93505060206106f28682870161062f565b925050604061070386828701610644565b9150509250925092565b6000806040838503121561072057600080fd5b600061072e8582860161062f565b925050602061073f85828601610644565b9150509250929050565b61075281610936565b82525050565b60006107638261087e565b61076d8185610889565b935061077d81856020860161096c565b61078681610a2f565b840191505092915050565b600061079e601683610889565b91506107a982610a40565b602082019050919050565b60006107c1601983610889565b91506107cc82610a69565b602082019050919050565b6107e081610962565b82525050565b60006020820190506107fb6000830184610749565b92915050565b6000602082019050818103600083015261081b8184610758565b905092915050565b6000602082019050818103600083015261083c81610791565b9050919050565b6000602082019050818103600083015261085c816107b4565b9050919050565b600060208201905061087860008301846107d7565b92915050565b600081519050919050565b600082825260208201905092915050565b60006108a582610962565b91506108b083610962565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156108e5576108e46109d1565b5b828201905092915050565b60006108fb82610962565b915061090683610962565b925082821015610919576109186109d1565b5b828203905092915050565b600061092f82610942565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561098a57808201518184015260208101905061096f565b83811115610999576000848401525b50505050565b600060028204905060018216806109b757607f821691505b602082108114156109cb576109ca610a00565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610a9b81610924565b8114610aa657600080fd5b50565b610ab281610962565b8114610abd57600080fd5b5056fea2646970667358221220a6fcd04aa893368d0e3e9a004a848844c520623183d6b2111fbc6f837204d0fa64736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x9 DUP2 MSTORE PUSH1 0x20 ADD PUSH32 0x4D6F636B546F6B656E0000000000000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x54 SWAP3 SWAP2 SWAP1 PUSH2 0xB8 JUMP JUMPDEST POP CALLVALUE DUP1 ISZERO PUSH2 0x61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH4 0x3B9ACA00 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SLOAD PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x1BC JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0xC4 SWAP1 PUSH2 0x15B JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0xE6 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x12D JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0xFF JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x12D JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x12D JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x12C JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x111 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x13A SWAP2 SWAP1 PUSH2 0x13E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x157 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x13F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x173 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x187 JUMPI PUSH2 0x186 PUSH2 0x18D JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xAF6 DUP1 PUSH2 0x1CB 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 0x313CE567 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1A7 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xDB JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC0 SWAP2 SWAP1 PUSH2 0x70D JUMP JUMPDEST PUSH2 0x265 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE3 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x113 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x2F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x120 SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH2 0x490 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x659 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x70D JUMP JUMPDEST PUSH2 0x4AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19E SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1BC SWAP2 SWAP1 PUSH2 0x682 JUMP JUMPDEST PUSH2 0x5A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1CE SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x1E4 SWAP1 PUSH2 0x99F 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 0x210 SWAP1 PUSH2 0x99F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x25D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x232 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x25D 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 0x240 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x305 DUP6 CALLER PUSH2 0x5A8 JUMP JUMPDEST LT ISZERO PUSH2 0x346 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x33D SWAP1 PUSH2 0x823 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3D2 SWAP2 SWAP1 PUSH2 0x8F0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x428 SWAP2 SWAP1 PUSH2 0x8F0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x47E SWAP2 SWAP1 PUSH2 0x89A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x4F2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4E9 SWAP1 PUSH2 0x843 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x541 SWAP2 SWAP1 PUSH2 0x8F0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x597 SWAP2 SWAP1 PUSH2 0x89A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x63E DUP2 PUSH2 0xA92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x653 DUP2 PUSH2 0xAA9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x66B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x679 DUP5 DUP3 DUP6 ADD PUSH2 0x62F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x695 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6A3 DUP6 DUP3 DUP7 ADD PUSH2 0x62F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6B4 DUP6 DUP3 DUP7 ADD PUSH2 0x62F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x6D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6E1 DUP7 DUP3 DUP8 ADD PUSH2 0x62F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x6F2 DUP7 DUP3 DUP8 ADD PUSH2 0x62F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x703 DUP7 DUP3 DUP8 ADD PUSH2 0x644 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x720 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x72E DUP6 DUP3 DUP7 ADD PUSH2 0x62F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x73F DUP6 DUP3 DUP7 ADD PUSH2 0x644 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x752 DUP2 PUSH2 0x936 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x763 DUP3 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x76D DUP2 DUP6 PUSH2 0x889 JUMP JUMPDEST SWAP4 POP PUSH2 0x77D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x96C JUMP JUMPDEST PUSH2 0x786 DUP2 PUSH2 0xA2F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x79E PUSH1 0x16 DUP4 PUSH2 0x889 JUMP JUMPDEST SWAP2 POP PUSH2 0x7A9 DUP3 PUSH2 0xA40 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C1 PUSH1 0x19 DUP4 PUSH2 0x889 JUMP JUMPDEST SWAP2 POP PUSH2 0x7CC DUP3 PUSH2 0xA69 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7E0 DUP2 PUSH2 0x962 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x7FB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x749 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x81B DUP2 DUP5 PUSH2 0x758 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x83C DUP2 PUSH2 0x791 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x85C DUP2 PUSH2 0x7B4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x878 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x7D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A5 DUP3 PUSH2 0x962 JUMP JUMPDEST SWAP2 POP PUSH2 0x8B0 DUP4 PUSH2 0x962 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x8E5 JUMPI PUSH2 0x8E4 PUSH2 0x9D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8FB DUP3 PUSH2 0x962 JUMP JUMPDEST SWAP2 POP PUSH2 0x906 DUP4 PUSH2 0x962 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x919 JUMPI PUSH2 0x918 PUSH2 0x9D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x92F DUP3 PUSH2 0x942 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x98A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x96F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x999 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x9B7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x9CB JUMPI PUSH2 0x9CA PUSH2 0xA00 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5472616E736665727265642076616C7565206973207A65726F00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA9B DUP2 PUSH2 0x924 JUMP JUMPDEST DUP2 EQ PUSH2 0xAA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xAB2 DUP2 PUSH2 0x962 JUMP JUMPDEST DUP2 EQ PUSH2 0xABD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA6 0xFC 0xD0 0x4A 0xA8 SWAP4 CALLDATASIZE DUP14 0xE RETURNDATACOPY SWAP11 STOP 0x4A DUP5 DUP9 DIFFICULTY 0xC5 KECCAK256 PUSH3 0x3183D6 0xB2 GT 0x1F 0xBC PUSH16 0x837204D0FA64736F6C63430008040033 ","sourceMap":"1144:95:3:-:0;;;119:1;96:24;;1204:32;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;1144:95;;;;;;;;;;292:13;278:11;:27;;;;335:11;;311:9;:21;321:10;311:21;;;;;;;;;;;;;;;:35;;;;1144:95;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:320:4:-;51:6;88:1;82:4;78:12;68:22;;135:1;129:4;125:12;156:18;146:2;;212:4;204:6;200:17;190:27;;146:2;274;266:6;263:14;243:18;240:38;237:2;;;293:18;;:::i;:::-;237:2;58:269;;;;:::o;333:180::-;381:77;378:1;371:88;478:4;475:1;468:15;502:4;499:1;492:15;1144:95:3;;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:7847:4","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:4","statements":[{"nodeType":"YulAssignment","src":"69:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:4"},"nodeType":"YulFunctionCall","src":"78:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"107:26:4"},"nodeType":"YulFunctionCall","src":"107:33:4"},"nodeType":"YulExpressionStatement","src":"107:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:4","type":""}],"src":"7:139:4"},{"body":{"nodeType":"YulBlock","src":"204:87:4","statements":[{"nodeType":"YulAssignment","src":"214:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"236:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"223:12:4"},"nodeType":"YulFunctionCall","src":"223:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"214:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"279:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"252:26:4"},"nodeType":"YulFunctionCall","src":"252:33:4"},"nodeType":"YulExpressionStatement","src":"252:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"182:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"190:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"198:5:4","type":""}],"src":"152:139:4"},{"body":{"nodeType":"YulBlock","src":"363:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"409:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"418:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"421:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"411:6:4"},"nodeType":"YulFunctionCall","src":"411:12:4"},"nodeType":"YulExpressionStatement","src":"411:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"384:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"393:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"380:3:4"},"nodeType":"YulFunctionCall","src":"380:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"405:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"376:3:4"},"nodeType":"YulFunctionCall","src":"376:32:4"},"nodeType":"YulIf","src":"373:2:4"},{"nodeType":"YulBlock","src":"435:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"450:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"464:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"454:6:4","type":""}]},{"nodeType":"YulAssignment","src":"479:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"514:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"525:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"510:3:4"},"nodeType":"YulFunctionCall","src":"510:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"534:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"489:20:4"},"nodeType":"YulFunctionCall","src":"489:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"479:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"333:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"344:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"356:6:4","type":""}],"src":"297:262:4"},{"body":{"nodeType":"YulBlock","src":"648:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"694:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"703:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"706:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"696:6:4"},"nodeType":"YulFunctionCall","src":"696:12:4"},"nodeType":"YulExpressionStatement","src":"696:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"669:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"678:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"665:3:4"},"nodeType":"YulFunctionCall","src":"665:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"690:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"661:3:4"},"nodeType":"YulFunctionCall","src":"661:32:4"},"nodeType":"YulIf","src":"658:2:4"},{"nodeType":"YulBlock","src":"720:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"735:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"749:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"739:6:4","type":""}]},{"nodeType":"YulAssignment","src":"764:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"799:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"810:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"795:3:4"},"nodeType":"YulFunctionCall","src":"795:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"819:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"774:20:4"},"nodeType":"YulFunctionCall","src":"774:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"764:6:4"}]}]},{"nodeType":"YulBlock","src":"847:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"862:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"876:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"866:6:4","type":""}]},{"nodeType":"YulAssignment","src":"892:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"927:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"938:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"923:3:4"},"nodeType":"YulFunctionCall","src":"923:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"947:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"902:20:4"},"nodeType":"YulFunctionCall","src":"902:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"892:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"610:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"621:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"633:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"641:6:4","type":""}],"src":"565:407:4"},{"body":{"nodeType":"YulBlock","src":"1078:452:4","statements":[{"body":{"nodeType":"YulBlock","src":"1124:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1133:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1136:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1126:6:4"},"nodeType":"YulFunctionCall","src":"1126:12:4"},"nodeType":"YulExpressionStatement","src":"1126:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1099:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1108:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1095:3:4"},"nodeType":"YulFunctionCall","src":"1095:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1120:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1091:3:4"},"nodeType":"YulFunctionCall","src":"1091:32:4"},"nodeType":"YulIf","src":"1088:2:4"},{"nodeType":"YulBlock","src":"1150:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1165:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1179:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1169:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1194:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1229:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1240:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1225:3:4"},"nodeType":"YulFunctionCall","src":"1225:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1249:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1204:20:4"},"nodeType":"YulFunctionCall","src":"1204:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1194:6:4"}]}]},{"nodeType":"YulBlock","src":"1277:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1292:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1306:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1296:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1322:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1357:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1368:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1353:3:4"},"nodeType":"YulFunctionCall","src":"1353:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1377:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1332:20:4"},"nodeType":"YulFunctionCall","src":"1332:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1322:6:4"}]}]},{"nodeType":"YulBlock","src":"1405:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1420:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1434:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1424:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1450:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1485:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1496:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1481:3:4"},"nodeType":"YulFunctionCall","src":"1481:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1505:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1460:20:4"},"nodeType":"YulFunctionCall","src":"1460:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1450:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1032:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1043:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1055:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1063:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1071:6:4","type":""}],"src":"978:552:4"},{"body":{"nodeType":"YulBlock","src":"1619:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"1665:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1674:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1677:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1667:6:4"},"nodeType":"YulFunctionCall","src":"1667:12:4"},"nodeType":"YulExpressionStatement","src":"1667:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1640:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1649:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1636:3:4"},"nodeType":"YulFunctionCall","src":"1636:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1661:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1632:3:4"},"nodeType":"YulFunctionCall","src":"1632:32:4"},"nodeType":"YulIf","src":"1629:2:4"},{"nodeType":"YulBlock","src":"1691:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1706:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1720:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1710:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1735:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1770:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1781:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1766:3:4"},"nodeType":"YulFunctionCall","src":"1766:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1790:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1745:20:4"},"nodeType":"YulFunctionCall","src":"1745:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1735:6:4"}]}]},{"nodeType":"YulBlock","src":"1818:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1833:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1847:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1837:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1863:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1898:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1909:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1894:3:4"},"nodeType":"YulFunctionCall","src":"1894:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1918:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1873:20:4"},"nodeType":"YulFunctionCall","src":"1873:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1863:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1581:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1592:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1604:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1612:6:4","type":""}],"src":"1536:407:4"},{"body":{"nodeType":"YulBlock","src":"2008:50:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2025:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2045:5:4"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"2030:14:4"},"nodeType":"YulFunctionCall","src":"2030:21:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2018:6:4"},"nodeType":"YulFunctionCall","src":"2018:34:4"},"nodeType":"YulExpressionStatement","src":"2018:34:4"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1996:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2003:3:4","type":""}],"src":"1949:109:4"},{"body":{"nodeType":"YulBlock","src":"2156:272:4","statements":[{"nodeType":"YulVariableDeclaration","src":"2166:53:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2213:5:4"}],"functionName":{"name":"array_length_t_string_memory_ptr","nodeType":"YulIdentifier","src":"2180:32:4"},"nodeType":"YulFunctionCall","src":"2180:39:4"},"variables":[{"name":"length","nodeType":"YulTypedName","src":"2170:6:4","type":""}]},{"nodeType":"YulAssignment","src":"2228:78:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2294:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"2299:6:4"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2235:58:4"},"nodeType":"YulFunctionCall","src":"2235:71:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2228:3:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2341:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"2348:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2337:3:4"},"nodeType":"YulFunctionCall","src":"2337:16:4"},{"name":"pos","nodeType":"YulIdentifier","src":"2355:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"2360:6:4"}],"functionName":{"name":"copy_memory_to_memory","nodeType":"YulIdentifier","src":"2315:21:4"},"nodeType":"YulFunctionCall","src":"2315:52:4"},"nodeType":"YulExpressionStatement","src":"2315:52:4"},{"nodeType":"YulAssignment","src":"2376:46:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2387:3:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"2414:6:4"}],"functionName":{"name":"round_up_to_mul_of_32","nodeType":"YulIdentifier","src":"2392:21:4"},"nodeType":"YulFunctionCall","src":"2392:29:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2383:3:4"},"nodeType":"YulFunctionCall","src":"2383:39:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2376:3:4"}]}]},"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2137:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2144:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2152:3:4","type":""}],"src":"2064:364:4"},{"body":{"nodeType":"YulBlock","src":"2580:220:4","statements":[{"nodeType":"YulAssignment","src":"2590:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2656:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2661:2:4","type":"","value":"22"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2597:58:4"},"nodeType":"YulFunctionCall","src":"2597:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2590:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2762:3:4"}],"functionName":{"name":"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","nodeType":"YulIdentifier","src":"2673:88:4"},"nodeType":"YulFunctionCall","src":"2673:93:4"},"nodeType":"YulExpressionStatement","src":"2673:93:4"},{"nodeType":"YulAssignment","src":"2775:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2786:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2791:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2782:3:4"},"nodeType":"YulFunctionCall","src":"2782:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2775:3:4"}]}]},"name":"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2568:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2576:3:4","type":""}],"src":"2434:366:4"},{"body":{"nodeType":"YulBlock","src":"2952:220:4","statements":[{"nodeType":"YulAssignment","src":"2962:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3028:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"3033:2:4","type":"","value":"25"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2969:58:4"},"nodeType":"YulFunctionCall","src":"2969:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2962:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3134:3:4"}],"functionName":{"name":"store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","nodeType":"YulIdentifier","src":"3045:88:4"},"nodeType":"YulFunctionCall","src":"3045:93:4"},"nodeType":"YulExpressionStatement","src":"3045:93:4"},{"nodeType":"YulAssignment","src":"3147:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3158:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"3163:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3154:3:4"},"nodeType":"YulFunctionCall","src":"3154:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"3147:3:4"}]}]},"name":"abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2940:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2948:3:4","type":""}],"src":"2806:366:4"},{"body":{"nodeType":"YulBlock","src":"3243:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"3260:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"3283:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"3265:17:4"},"nodeType":"YulFunctionCall","src":"3265:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3253:6:4"},"nodeType":"YulFunctionCall","src":"3253:37:4"},"nodeType":"YulExpressionStatement","src":"3253:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"3231:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"3238:3:4","type":""}],"src":"3178:118:4"},{"body":{"nodeType":"YulBlock","src":"3394:118:4","statements":[{"nodeType":"YulAssignment","src":"3404:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3416:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3427:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3412:3:4"},"nodeType":"YulFunctionCall","src":"3412:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3404:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3478:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3491:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3502:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3487:3:4"},"nodeType":"YulFunctionCall","src":"3487:17:4"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"3440:37:4"},"nodeType":"YulFunctionCall","src":"3440:65:4"},"nodeType":"YulExpressionStatement","src":"3440:65:4"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3366:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3378:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3389:4:4","type":""}],"src":"3302:210:4"},{"body":{"nodeType":"YulBlock","src":"3636:195:4","statements":[{"nodeType":"YulAssignment","src":"3646:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3658:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3669:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3654:3:4"},"nodeType":"YulFunctionCall","src":"3654:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3646:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3693:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3704:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3689:3:4"},"nodeType":"YulFunctionCall","src":"3689:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3712:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3718:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3708:3:4"},"nodeType":"YulFunctionCall","src":"3708:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3682:6:4"},"nodeType":"YulFunctionCall","src":"3682:47:4"},"nodeType":"YulExpressionStatement","src":"3682:47:4"},{"nodeType":"YulAssignment","src":"3738:86:4","value":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3810:6:4"},{"name":"tail","nodeType":"YulIdentifier","src":"3819:4:4"}],"functionName":{"name":"abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3746:63:4"},"nodeType":"YulFunctionCall","src":"3746:78:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3738:4:4"}]}]},"name":"abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3608:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3620:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3631:4:4","type":""}],"src":"3518:313:4"},{"body":{"nodeType":"YulBlock","src":"4008:248:4","statements":[{"nodeType":"YulAssignment","src":"4018:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4030:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4041:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4026:3:4"},"nodeType":"YulFunctionCall","src":"4026:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4018:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4065:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4076:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4061:3:4"},"nodeType":"YulFunctionCall","src":"4061:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4084:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4090:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4080:3:4"},"nodeType":"YulFunctionCall","src":"4080:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4054:6:4"},"nodeType":"YulFunctionCall","src":"4054:47:4"},"nodeType":"YulExpressionStatement","src":"4054:47:4"},{"nodeType":"YulAssignment","src":"4110:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4244:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4118:124:4"},"nodeType":"YulFunctionCall","src":"4118:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4110:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3988:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4003:4:4","type":""}],"src":"3837:419:4"},{"body":{"nodeType":"YulBlock","src":"4433:248:4","statements":[{"nodeType":"YulAssignment","src":"4443:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4455:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4466:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4451:3:4"},"nodeType":"YulFunctionCall","src":"4451:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4443:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4490:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4501:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4486:3:4"},"nodeType":"YulFunctionCall","src":"4486:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4509:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"4515:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4505:3:4"},"nodeType":"YulFunctionCall","src":"4505:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4479:6:4"},"nodeType":"YulFunctionCall","src":"4479:47:4"},"nodeType":"YulExpressionStatement","src":"4479:47:4"},{"nodeType":"YulAssignment","src":"4535:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"4669:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"4543:124:4"},"nodeType":"YulFunctionCall","src":"4543:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4535:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4413:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4428:4:4","type":""}],"src":"4262:419:4"},{"body":{"nodeType":"YulBlock","src":"4785:124:4","statements":[{"nodeType":"YulAssignment","src":"4795:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4807:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4818:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4803:3:4"},"nodeType":"YulFunctionCall","src":"4803:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4795:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4875:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4888:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4899:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4884:3:4"},"nodeType":"YulFunctionCall","src":"4884:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"4831:43:4"},"nodeType":"YulFunctionCall","src":"4831:71:4"},"nodeType":"YulExpressionStatement","src":"4831:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4757:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4769:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4780:4:4","type":""}],"src":"4687:222:4"},{"body":{"nodeType":"YulBlock","src":"4974:40:4","statements":[{"nodeType":"YulAssignment","src":"4985:22:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5001:5:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"4995:5:4"},"nodeType":"YulFunctionCall","src":"4995:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"4985:6:4"}]}]},"name":"array_length_t_string_memory_ptr","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4957:5:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"4967:6:4","type":""}],"src":"4915:99:4"},{"body":{"nodeType":"YulBlock","src":"5116:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5133:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"5138:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5126:6:4"},"nodeType":"YulFunctionCall","src":"5126:19:4"},"nodeType":"YulExpressionStatement","src":"5126:19:4"},{"nodeType":"YulAssignment","src":"5154:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"5173:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"5178:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5169:3:4"},"nodeType":"YulFunctionCall","src":"5169:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"5154:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"5088:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"5093:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"5104:11:4","type":""}],"src":"5020:169:4"},{"body":{"nodeType":"YulBlock","src":"5239:261:4","statements":[{"nodeType":"YulAssignment","src":"5249:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5272:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5254:17:4"},"nodeType":"YulFunctionCall","src":"5254:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"5249:1:4"}]},{"nodeType":"YulAssignment","src":"5283:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5306:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5288:17:4"},"nodeType":"YulFunctionCall","src":"5288:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"5283:1:4"}]},{"body":{"nodeType":"YulBlock","src":"5446:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5448:16:4"},"nodeType":"YulFunctionCall","src":"5448:18:4"},"nodeType":"YulExpressionStatement","src":"5448:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5367:1:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5374:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"5442:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5370:3:4"},"nodeType":"YulFunctionCall","src":"5370:74:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"5364:2:4"},"nodeType":"YulFunctionCall","src":"5364:81:4"},"nodeType":"YulIf","src":"5361:2:4"},{"nodeType":"YulAssignment","src":"5478:16:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5489:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"5492:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5485:3:4"},"nodeType":"YulFunctionCall","src":"5485:9:4"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"5478:3:4"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5226:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"5229:1:4","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"5235:3:4","type":""}],"src":"5195:305:4"},{"body":{"nodeType":"YulBlock","src":"5551:146:4","statements":[{"nodeType":"YulAssignment","src":"5561:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5584:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5566:17:4"},"nodeType":"YulFunctionCall","src":"5566:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"5561:1:4"}]},{"nodeType":"YulAssignment","src":"5595:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"5618:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"5600:17:4"},"nodeType":"YulFunctionCall","src":"5600:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"5595:1:4"}]},{"body":{"nodeType":"YulBlock","src":"5642:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"5644:16:4"},"nodeType":"YulFunctionCall","src":"5644:18:4"},"nodeType":"YulExpressionStatement","src":"5644:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5636:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"5639:1:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"5633:2:4"},"nodeType":"YulFunctionCall","src":"5633:8:4"},"nodeType":"YulIf","src":"5630:2:4"},{"nodeType":"YulAssignment","src":"5674:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"5686:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"5689:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"5682:3:4"},"nodeType":"YulFunctionCall","src":"5682:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"5674:4:4"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"5537:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"5540:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"5546:4:4","type":""}],"src":"5506:191:4"},{"body":{"nodeType":"YulBlock","src":"5748:51:4","statements":[{"nodeType":"YulAssignment","src":"5758:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5787:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"5769:17:4"},"nodeType":"YulFunctionCall","src":"5769:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5758:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5730:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5740:7:4","type":""}],"src":"5703:96:4"},{"body":{"nodeType":"YulBlock","src":"5847:48:4","statements":[{"nodeType":"YulAssignment","src":"5857:32:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5882:5:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5875:6:4"},"nodeType":"YulFunctionCall","src":"5875:13:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5868:6:4"},"nodeType":"YulFunctionCall","src":"5868:21:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5857:7:4"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5829:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5839:7:4","type":""}],"src":"5805:90:4"},{"body":{"nodeType":"YulBlock","src":"5946:81:4","statements":[{"nodeType":"YulAssignment","src":"5956:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5971:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"5978:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5967:3:4"},"nodeType":"YulFunctionCall","src":"5967:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5956:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5928:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5938:7:4","type":""}],"src":"5901:126:4"},{"body":{"nodeType":"YulBlock","src":"6078:32:4","statements":[{"nodeType":"YulAssignment","src":"6088:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"6099:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"6088:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6060:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"6070:7:4","type":""}],"src":"6033:77:4"},{"body":{"nodeType":"YulBlock","src":"6165:258:4","statements":[{"nodeType":"YulVariableDeclaration","src":"6175:10:4","value":{"kind":"number","nodeType":"YulLiteral","src":"6184:1:4","type":"","value":"0"},"variables":[{"name":"i","nodeType":"YulTypedName","src":"6179:1:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6244:63:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6269:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"6274:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6265:3:4"},"nodeType":"YulFunctionCall","src":"6265:11:4"},{"arguments":[{"arguments":[{"name":"src","nodeType":"YulIdentifier","src":"6288:3:4"},{"name":"i","nodeType":"YulIdentifier","src":"6293:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6284:3:4"},"nodeType":"YulFunctionCall","src":"6284:11:4"}],"functionName":{"name":"mload","nodeType":"YulIdentifier","src":"6278:5:4"},"nodeType":"YulFunctionCall","src":"6278:18:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6258:6:4"},"nodeType":"YulFunctionCall","src":"6258:39:4"},"nodeType":"YulExpressionStatement","src":"6258:39:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6205:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6208:6:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6202:2:4"},"nodeType":"YulFunctionCall","src":"6202:13:4"},"nodeType":"YulForLoop","post":{"nodeType":"YulBlock","src":"6216:19:4","statements":[{"nodeType":"YulAssignment","src":"6218:15:4","value":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6227:1:4"},{"kind":"number","nodeType":"YulLiteral","src":"6230:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6223:3:4"},"nodeType":"YulFunctionCall","src":"6223:10:4"},"variableNames":[{"name":"i","nodeType":"YulIdentifier","src":"6218:1:4"}]}]},"pre":{"nodeType":"YulBlock","src":"6198:3:4","statements":[]},"src":"6194:113:4"},{"body":{"nodeType":"YulBlock","src":"6341:76:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"dst","nodeType":"YulIdentifier","src":"6391:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"6396:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"6387:3:4"},"nodeType":"YulFunctionCall","src":"6387:16:4"},{"kind":"number","nodeType":"YulLiteral","src":"6405:1:4","type":"","value":"0"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6380:6:4"},"nodeType":"YulFunctionCall","src":"6380:27:4"},"nodeType":"YulExpressionStatement","src":"6380:27:4"}]},"condition":{"arguments":[{"name":"i","nodeType":"YulIdentifier","src":"6322:1:4"},{"name":"length","nodeType":"YulIdentifier","src":"6325:6:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"6319:2:4"},"nodeType":"YulFunctionCall","src":"6319:13:4"},"nodeType":"YulIf","src":"6316:2:4"}]},"name":"copy_memory_to_memory","nodeType":"YulFunctionDefinition","parameters":[{"name":"src","nodeType":"YulTypedName","src":"6147:3:4","type":""},{"name":"dst","nodeType":"YulTypedName","src":"6152:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"6157:6:4","type":""}],"src":"6116:307:4"},{"body":{"nodeType":"YulBlock","src":"6480:269:4","statements":[{"nodeType":"YulAssignment","src":"6490:22:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6504:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"6510:1:4","type":"","value":"2"}],"functionName":{"name":"div","nodeType":"YulIdentifier","src":"6500:3:4"},"nodeType":"YulFunctionCall","src":"6500:12:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6490:6:4"}]},{"nodeType":"YulVariableDeclaration","src":"6521:38:4","value":{"arguments":[{"name":"data","nodeType":"YulIdentifier","src":"6551:4:4"},{"kind":"number","nodeType":"YulLiteral","src":"6557:1:4","type":"","value":"1"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6547:3:4"},"nodeType":"YulFunctionCall","src":"6547:12:4"},"variables":[{"name":"outOfPlaceEncoding","nodeType":"YulTypedName","src":"6525:18:4","type":""}]},{"body":{"nodeType":"YulBlock","src":"6598:51:4","statements":[{"nodeType":"YulAssignment","src":"6612:27:4","value":{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6626:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6634:4:4","type":"","value":"0x7f"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"6622:3:4"},"nodeType":"YulFunctionCall","src":"6622:17:4"},"variableNames":[{"name":"length","nodeType":"YulIdentifier","src":"6612:6:4"}]}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6578:18:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6571:6:4"},"nodeType":"YulFunctionCall","src":"6571:26:4"},"nodeType":"YulIf","src":"6568:2:4"},{"body":{"nodeType":"YulBlock","src":"6701:42:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x22","nodeType":"YulIdentifier","src":"6715:16:4"},"nodeType":"YulFunctionCall","src":"6715:18:4"},"nodeType":"YulExpressionStatement","src":"6715:18:4"}]},"condition":{"arguments":[{"name":"outOfPlaceEncoding","nodeType":"YulIdentifier","src":"6665:18:4"},{"arguments":[{"name":"length","nodeType":"YulIdentifier","src":"6688:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"6696:2:4","type":"","value":"32"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"6685:2:4"},"nodeType":"YulFunctionCall","src":"6685:14:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6662:2:4"},"nodeType":"YulFunctionCall","src":"6662:38:4"},"nodeType":"YulIf","src":"6659:2:4"}]},"name":"extract_byte_array_length","nodeType":"YulFunctionDefinition","parameters":[{"name":"data","nodeType":"YulTypedName","src":"6464:4:4","type":""}],"returnVariables":[{"name":"length","nodeType":"YulTypedName","src":"6473:6:4","type":""}],"src":"6429:320:4"},{"body":{"nodeType":"YulBlock","src":"6783:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6800:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6803:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6793:6:4"},"nodeType":"YulFunctionCall","src":"6793:88:4"},"nodeType":"YulExpressionStatement","src":"6793:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6897:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"6900:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6890:6:4"},"nodeType":"YulFunctionCall","src":"6890:15:4"},"nodeType":"YulExpressionStatement","src":"6890:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6921:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6924:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6914:6:4"},"nodeType":"YulFunctionCall","src":"6914:15:4"},"nodeType":"YulExpressionStatement","src":"6914:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"6755:180:4"},{"body":{"nodeType":"YulBlock","src":"6969:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6986:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6989:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"6979:6:4"},"nodeType":"YulFunctionCall","src":"6979:88:4"},"nodeType":"YulExpressionStatement","src":"6979:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7083:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"7086:4:4","type":"","value":"0x22"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7076:6:4"},"nodeType":"YulFunctionCall","src":"7076:15:4"},"nodeType":"YulExpressionStatement","src":"7076:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7107:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7110:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7100:6:4"},"nodeType":"YulFunctionCall","src":"7100:15:4"},"nodeType":"YulExpressionStatement","src":"7100:15:4"}]},"name":"panic_error_0x22","nodeType":"YulFunctionDefinition","src":"6941:180:4"},{"body":{"nodeType":"YulBlock","src":"7175:54:4","statements":[{"nodeType":"YulAssignment","src":"7185:38:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7203:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"7210:2:4","type":"","value":"31"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7199:3:4"},"nodeType":"YulFunctionCall","src":"7199:14:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7219:2:4","type":"","value":"31"}],"functionName":{"name":"not","nodeType":"YulIdentifier","src":"7215:3:4"},"nodeType":"YulFunctionCall","src":"7215:7:4"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"7195:3:4"},"nodeType":"YulFunctionCall","src":"7195:28:4"},"variableNames":[{"name":"result","nodeType":"YulIdentifier","src":"7185:6:4"}]}]},"name":"round_up_to_mul_of_32","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7158:5:4","type":""}],"returnVariables":[{"name":"result","nodeType":"YulTypedName","src":"7168:6:4","type":""}],"src":"7127:102:4"},{"body":{"nodeType":"YulBlock","src":"7341:66:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7363:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"7371:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7359:3:4"},"nodeType":"YulFunctionCall","src":"7359:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"7375:24:4","type":"","value":"Insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7352:6:4"},"nodeType":"YulFunctionCall","src":"7352:48:4"},"nodeType":"YulExpressionStatement","src":"7352:48:4"}]},"name":"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"7333:6:4","type":""}],"src":"7235:172:4"},{"body":{"nodeType":"YulBlock","src":"7519:69:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"7541:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"7549:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"7537:3:4"},"nodeType":"YulFunctionCall","src":"7537:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"7553:27:4","type":"","value":"Transferred value is zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"7530:6:4"},"nodeType":"YulFunctionCall","src":"7530:51:4"},"nodeType":"YulExpressionStatement","src":"7530:51:4"}]},"name":"store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"7511:6:4","type":""}],"src":"7413:175:4"},{"body":{"nodeType":"YulBlock","src":"7637:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"7694:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7703:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7706:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7696:6:4"},"nodeType":"YulFunctionCall","src":"7696:12:4"},"nodeType":"YulExpressionStatement","src":"7696:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7660:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7685:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"7667:17:4"},"nodeType":"YulFunctionCall","src":"7667:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7657:2:4"},"nodeType":"YulFunctionCall","src":"7657:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7650:6:4"},"nodeType":"YulFunctionCall","src":"7650:43:4"},"nodeType":"YulIf","src":"7647:2:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7630:5:4","type":""}],"src":"7594:122:4"},{"body":{"nodeType":"YulBlock","src":"7765:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"7822:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"7831:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"7834:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"7824:6:4"},"nodeType":"YulFunctionCall","src":"7824:12:4"},"nodeType":"YulExpressionStatement","src":"7824:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7788:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"7813:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"7795:17:4"},"nodeType":"YulFunctionCall","src":"7795:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"7785:2:4"},"nodeType":"YulFunctionCall","src":"7785:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"7778:6:4"},"nodeType":"YulFunctionCall","src":"7778:43:4"},"nodeType":"YulIf","src":"7775:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"7758:5:4","type":""}],"src":"7722:122:4"}]},"contents":"{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient allowance\")\n\n }\n\n function store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c(memPtr) {\n\n mstore(add(memPtr, 0), \"Transferred value is zero\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b50600436106100885760003560e01c8063313ce5671161005b578063313ce5671461012957806370a0823114610147578063a9059cbb14610177578063dd62ed3e146101a757610088565b806306fdde031461008d578063095ea7b3146100ab57806318160ddd146100db57806323b872dd146100f9575b600080fd5b6100956101d7565b6040516100a29190610801565b60405180910390f35b6100c560048036038101906100c0919061070d565b610265565b6040516100d291906107e6565b60405180910390f35b6100e36102f2565b6040516100f09190610863565b60405180910390f35b610113600480360381019061010e91906106be565b6102f8565b60405161012091906107e6565b60405180910390f35b610131610490565b60405161013e9190610863565b60405180910390f35b610161600480360381019061015c9190610659565b610496565b60405161016e9190610863565b60405180910390f35b610191600480360381019061018c919061070d565b6104ae565b60405161019e91906107e6565b60405180910390f35b6101c160048036038101906101bc9190610682565b6105a8565b6040516101ce9190610863565b60405180910390f35b600480546101e49061099f565b80601f01602080910402602001604051908101604052809291908181526020018280546102109061099f565b801561025d5780601f106102325761010080835404028352916020019161025d565b820191906000526020600020905b81548152906001019060200180831161024057829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161030585336105a8565b1015610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033d90610823565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103d291906108f0565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461042891906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461047e919061089a565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b60008082116104f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e990610843565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461054191906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610597919061089a565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008135905061063e81610a92565b92915050565b60008135905061065381610aa9565b92915050565b60006020828403121561066b57600080fd5b60006106798482850161062f565b91505092915050565b6000806040838503121561069557600080fd5b60006106a38582860161062f565b92505060206106b48582860161062f565b9150509250929050565b6000806000606084860312156106d357600080fd5b60006106e18682870161062f565b93505060206106f28682870161062f565b925050604061070386828701610644565b9150509250925092565b6000806040838503121561072057600080fd5b600061072e8582860161062f565b925050602061073f85828601610644565b9150509250929050565b61075281610936565b82525050565b60006107638261087e565b61076d8185610889565b935061077d81856020860161096c565b61078681610a2f565b840191505092915050565b600061079e601683610889565b91506107a982610a40565b602082019050919050565b60006107c1601983610889565b91506107cc82610a69565b602082019050919050565b6107e081610962565b82525050565b60006020820190506107fb6000830184610749565b92915050565b6000602082019050818103600083015261081b8184610758565b905092915050565b6000602082019050818103600083015261083c81610791565b9050919050565b6000602082019050818103600083015261085c816107b4565b9050919050565b600060208201905061087860008301846107d7565b92915050565b600081519050919050565b600082825260208201905092915050565b60006108a582610962565b91506108b083610962565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156108e5576108e46109d1565b5b828201905092915050565b60006108fb82610962565b915061090683610962565b925082821015610919576109186109d1565b5b828203905092915050565b600061092f82610942565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561098a57808201518184015260208101905061096f565b83811115610999576000848401525b50505050565b600060028204905060018216806109b757607f821691505b602082108114156109cb576109ca610a00565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610a9b81610924565b8114610aa657600080fd5b50565b610ab281610962565b8114610abd57600080fd5b5056fea2646970667358221220a6fcd04aa893368d0e3e9a004a848844c520623183d6b2111fbc6f837204d0fa64736f6c63430008040033","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 0x313CE567 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x129 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x147 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x177 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x1A7 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xAB JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xDB JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0xF9 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x95 PUSH2 0x1D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA2 SWAP2 SWAP1 PUSH2 0x801 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xC5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xC0 SWAP2 SWAP1 PUSH2 0x70D JUMP JUMPDEST PUSH2 0x265 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xD2 SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE3 PUSH2 0x2F2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF0 SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x113 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x10E SWAP2 SWAP1 PUSH2 0x6BE JUMP JUMPDEST PUSH2 0x2F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x120 SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x131 PUSH2 0x490 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13E SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x161 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x15C SWAP2 SWAP1 PUSH2 0x659 JUMP JUMPDEST PUSH2 0x496 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x16E SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x191 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18C SWAP2 SWAP1 PUSH2 0x70D JUMP JUMPDEST PUSH2 0x4AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x19E SWAP2 SWAP1 PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1C1 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1BC SWAP2 SWAP1 PUSH2 0x682 JUMP JUMPDEST PUSH2 0x5A8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1CE SWAP2 SWAP1 PUSH2 0x863 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x4 DUP1 SLOAD PUSH2 0x1E4 SWAP1 PUSH2 0x99F 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 0x210 SWAP1 PUSH2 0x99F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x25D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x232 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x25D 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 0x240 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x305 DUP6 CALLER PUSH2 0x5A8 JUMP JUMPDEST LT ISZERO PUSH2 0x346 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x33D SWAP1 PUSH2 0x823 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3D2 SWAP2 SWAP1 PUSH2 0x8F0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x428 SWAP2 SWAP1 PUSH2 0x8F0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x47E SWAP2 SWAP1 PUSH2 0x89A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x4F2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x4E9 SWAP1 PUSH2 0x843 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x541 SWAP2 SWAP1 PUSH2 0x8F0 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x597 SWAP2 SWAP1 PUSH2 0x89A JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x63E DUP2 PUSH2 0xA92 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x653 DUP2 PUSH2 0xAA9 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x66B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x679 DUP5 DUP3 DUP6 ADD PUSH2 0x62F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x695 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6A3 DUP6 DUP3 DUP7 ADD PUSH2 0x62F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x6B4 DUP6 DUP3 DUP7 ADD PUSH2 0x62F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x6D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x6E1 DUP7 DUP3 DUP8 ADD PUSH2 0x62F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x6F2 DUP7 DUP3 DUP8 ADD PUSH2 0x62F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x703 DUP7 DUP3 DUP8 ADD PUSH2 0x644 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x720 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x72E DUP6 DUP3 DUP7 ADD PUSH2 0x62F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x73F DUP6 DUP3 DUP7 ADD PUSH2 0x644 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x752 DUP2 PUSH2 0x936 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x763 DUP3 PUSH2 0x87E JUMP JUMPDEST PUSH2 0x76D DUP2 DUP6 PUSH2 0x889 JUMP JUMPDEST SWAP4 POP PUSH2 0x77D DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x96C JUMP JUMPDEST PUSH2 0x786 DUP2 PUSH2 0xA2F JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x79E PUSH1 0x16 DUP4 PUSH2 0x889 JUMP JUMPDEST SWAP2 POP PUSH2 0x7A9 DUP3 PUSH2 0xA40 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7C1 PUSH1 0x19 DUP4 PUSH2 0x889 JUMP JUMPDEST SWAP2 POP PUSH2 0x7CC DUP3 PUSH2 0xA69 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x7E0 DUP2 PUSH2 0x962 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x7FB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x749 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x81B DUP2 DUP5 PUSH2 0x758 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x83C DUP2 PUSH2 0x791 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x85C DUP2 PUSH2 0x7B4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x878 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x7D7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8A5 DUP3 PUSH2 0x962 JUMP JUMPDEST SWAP2 POP PUSH2 0x8B0 DUP4 PUSH2 0x962 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x8E5 JUMPI PUSH2 0x8E4 PUSH2 0x9D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x8FB DUP3 PUSH2 0x962 JUMP JUMPDEST SWAP2 POP PUSH2 0x906 DUP4 PUSH2 0x962 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x919 JUMPI PUSH2 0x918 PUSH2 0x9D1 JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x92F DUP3 PUSH2 0x942 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x98A JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x96F JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x999 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x9B7 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x9CB JUMPI PUSH2 0x9CA PUSH2 0xA00 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5472616E736665727265642076616C7565206973207A65726F00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0xA9B DUP2 PUSH2 0x924 JUMP JUMPDEST DUP2 EQ PUSH2 0xAA6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0xAB2 DUP2 PUSH2 0x962 JUMP JUMPDEST DUP2 EQ PUSH2 0xABD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA6 0xFC 0xD0 0x4A 0xA8 SWAP4 CALLDATASIZE DUP14 0xE RETURNDATACOPY SWAP11 STOP 0x4A DUP5 DUP9 DIFFICULTY 0xC5 KECCAK256 PUSH3 0x3183D6 0xB2 GT 0x1F 0xBC PUSH16 0x837204D0FA64736F6C63430008040033 ","sourceMap":"1144:95:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1204:32;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;703:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;125:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;853:287;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;96:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;152:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;355:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;564:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1204:32;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;703:146::-;768:12;822:5;788:10;:22;799:10;788:22;;;;;;;;;;;;;;;:31;811:7;788:31;;;;;;;;;;;;;;;:39;;;;840:4;833:11;;703:146;;;;:::o;125:23::-;;;;:::o;853:287::-;932:4;983:5;952:27;962:4;968:10;952:9;:27::i;:::-;:36;;944:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1054:5;1022:10;:16;1033:4;1022:16;;;;;;;;;;;;;;;:28;1039:10;1022:28;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;1084:5;1065:9;:15;1075:4;1065:15;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;1112:5;1095:9;:13;1105:2;1095:13;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;1131:4;1124:11;;853:287;;;;;:::o;96:24::-;;;;:::o;152:41::-;;;;;;;;;;;;;;;;;:::o;355:205::-;413:4;441:1;433:5;:9;425:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;504:5;479:9;:21;489:10;479:21;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;532:5;515:9;:13;525:2;515:13;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;551:4;544:11;;355:205;;;;:::o;564:135::-;636:17;668:10;:17;679:5;668:17;;;;;;;;;;;;;;;:26;686:7;668:26;;;;;;;;;;;;;;;;661:33;;564:135;;;;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;2152:3;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:366::-;2576:3;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2673:93;2762:3;2673:93;:::i;:::-;2791:2;2786:3;2782:12;2775:19;;2580:220;;;:::o;2806:366::-;2948:3;2969:67;3033:2;3028:3;2969:67;:::i;:::-;2962:74;;3045:93;3134:3;3045:93;:::i;:::-;3163:2;3158:3;3154:12;3147:19;;2952:220;;;:::o;3178:118::-;3265:24;3283:5;3265:24;:::i;:::-;3260:3;3253:37;3243:53;;:::o;3302:210::-;3389:4;3427:2;3416:9;3412:18;3404:26;;3440:65;3502:1;3491:9;3487:17;3478:6;3440:65;:::i;:::-;3394:118;;;;:::o;3518:313::-;3631:4;3669:2;3658:9;3654:18;3646:26;;3718:9;3712:4;3708:20;3704:1;3693:9;3689:17;3682:47;3746:78;3819:4;3810:6;3746:78;:::i;:::-;3738:86;;3636:195;;;;:::o;3837:419::-;4003:4;4041:2;4030:9;4026:18;4018:26;;4090:9;4084:4;4080:20;4076:1;4065:9;4061:17;4054:47;4118:131;4244:4;4118:131;:::i;:::-;4110:139;;4008:248;;;:::o;4262:419::-;4428:4;4466:2;4455:9;4451:18;4443:26;;4515:9;4509:4;4505:20;4501:1;4490:9;4486:17;4479:47;4543:131;4669:4;4543:131;:::i;:::-;4535:139;;4433:248;;;:::o;4687:222::-;4780:4;4818:2;4807:9;4803:18;4795:26;;4831:71;4899:1;4888:9;4884:17;4875:6;4831:71;:::i;:::-;4785:124;;;;:::o;4915:99::-;4967:6;5001:5;4995:12;4985:22;;4974:40;;;:::o;5020:169::-;5104:11;5138:6;5133:3;5126:19;5178:4;5173:3;5169:14;5154:29;;5116:73;;;;:::o;5195:305::-;5235:3;5254:20;5272:1;5254:20;:::i;:::-;5249:25;;5288:20;5306:1;5288:20;:::i;:::-;5283:25;;5442:1;5374:66;5370:74;5367:1;5364:81;5361:2;;;5448:18;;:::i;:::-;5361:2;5492:1;5489;5485:9;5478:16;;5239:261;;;;:::o;5506:191::-;5546:4;5566:20;5584:1;5566:20;:::i;:::-;5561:25;;5600:20;5618:1;5600:20;:::i;:::-;5595:25;;5639:1;5636;5633:8;5630:2;;;5644:18;;:::i;:::-;5630:2;5689:1;5686;5682:9;5674:17;;5551:146;;;;:::o;5703:96::-;5740:7;5769:24;5787:5;5769:24;:::i;:::-;5758:35;;5748:51;;;:::o;5805:90::-;5839:7;5882:5;5875:13;5868:21;5857:32;;5847:48;;;:::o;5901:126::-;5938:7;5978:42;5971:5;5967:54;5956:65;;5946:81;;;:::o;6033:77::-;6070:7;6099:5;6088:16;;6078:32;;;:::o;6116:307::-;6184:1;6194:113;6208:6;6205:1;6202:13;6194:113;;;6293:1;6288:3;6284:11;6278:18;6274:1;6269:3;6265:11;6258:39;6230:2;6227:1;6223:10;6218:15;;6194:113;;;6325:6;6322:1;6319:13;6316:2;;;6405:1;6396:6;6391:3;6387:16;6380:27;6316:2;6165:258;;;;:::o;6429:320::-;6473:6;6510:1;6504:4;6500:12;6490:22;;6557:1;6551:4;6547:12;6578:18;6568:2;;6634:4;6626:6;6622:17;6612:27;;6568:2;6696;6688:6;6685:14;6665:18;6662:38;6659:2;;;6715:18;;:::i;:::-;6659:2;6480:269;;;;:::o;6755:180::-;6803:77;6800:1;6793:88;6900:4;6897:1;6890:15;6924:4;6921:1;6914:15;6941:180;6989:77;6986:1;6979:88;7086:4;7083:1;7076:15;7110:4;7107:1;7100:15;7127:102;7168:6;7219:2;7215:7;7210:2;7203:5;7199:14;7195:28;7185:38;;7175:54;;;:::o;7235:172::-;7375:24;7371:1;7363:6;7359:14;7352:48;7341:66;:::o;7413:175::-;7553:27;7549:1;7541:6;7537:14;7530:51;7519:69;:::o;7594:122::-;7667:24;7685:5;7667:24;:::i;:::-;7660:5;7657:35;7647:2;;7706:1;7703;7696:12;7647:2;7637:79;:::o;7722:122::-;7795:24;7813:5;7795:24;:::i;:::-;7788:5;7785:35;7775:2;;7834:1;7831;7824:12;7775:2;7765:79;:::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","name()":"06fdde03","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Token.sol\":\"TokenWithOnlyName\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Token.sol\":{\"keccak256\":\"0x3c98df2a7295115a107e950c40733f37ce5384cf18a0b5efb948ccf6d1acaa59\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21c0d9ad7fee4c50e057a477ec0c151985566e51e1df46d3dc42f4320eceeccf\",\"dweb:/ipfs/QmSVvnCWd9MH3F93atgJGuwbHMJpifnoMLSosQsZUKUrZ8\"]}},\"version\":1}"},"TokenWithoutNameNorSymbol":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}],"evm":{"bytecode":{"generatedSources":[],"linkReferences":{},"object":"6080604052600160005534801561001557600080fd5b50633b9aca00600181905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610934806100766000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063313ce5671161005b578063313ce5671461010057806370a082311461011e578063a9059cbb1461014e578063dd62ed3e1461017e5761007d565b8063095ea7b31461008257806318160ddd146100b257806323b872dd146100d0575b600080fd5b61009c60048036038101906100979190610656565b6101ae565b6040516100a991906106f6565b60405180910390f35b6100ba61023b565b6040516100c79190610751565b60405180910390f35b6100ea60048036038101906100e59190610607565b610241565b6040516100f791906106f6565b60405180910390f35b6101086103d9565b6040516101159190610751565b60405180910390f35b610138600480360381019061013391906105a2565b6103df565b6040516101459190610751565b60405180910390f35b61016860048036038101906101639190610656565b6103f7565b60405161017591906106f6565b60405180910390f35b610198600480360381019061019391906105cb565b6104f1565b6040516101a59190610751565b60405180910390f35b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161024e85336104f1565b101561028f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028690610711565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461031b91906107d3565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461037191906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103c7919061077d565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600080821161043b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043290610731565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461048a91906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e0919061077d565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600081359050610587816108d0565b92915050565b60008135905061059c816108e7565b92915050565b6000602082840312156105b457600080fd5b60006105c284828501610578565b91505092915050565b600080604083850312156105de57600080fd5b60006105ec85828601610578565b92505060206105fd85828601610578565b9150509250929050565b60008060006060848603121561061c57600080fd5b600061062a86828701610578565b935050602061063b86828701610578565b925050604061064c8682870161058d565b9150509250925092565b6000806040838503121561066957600080fd5b600061067785828601610578565b92505060206106888582860161058d565b9150509250929050565b61069b81610819565b82525050565b60006106ae60168361076c565b91506106b98261087e565b602082019050919050565b60006106d160198361076c565b91506106dc826108a7565b602082019050919050565b6106f081610845565b82525050565b600060208201905061070b6000830184610692565b92915050565b6000602082019050818103600083015261072a816106a1565b9050919050565b6000602082019050818103600083015261074a816106c4565b9050919050565b600060208201905061076660008301846106e7565b92915050565b600082825260208201905092915050565b600061078882610845565b915061079383610845565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156107c8576107c761084f565b5b828201905092915050565b60006107de82610845565b91506107e983610845565b9250828210156107fc576107fb61084f565b5b828203905092915050565b600061081282610825565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b6108d981610807565b81146108e457600080fd5b50565b6108f081610845565b81146108fb57600080fd5b5056fea2646970667358221220a8a6918adf2af132e4e49a96a108a2d9c62cfb74de3e267b6c8af323b87f6ec964736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x1 PUSH1 0x0 SSTORE CALLVALUE DUP1 ISZERO PUSH2 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH4 0x3B9ACA00 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SLOAD PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH2 0x934 DUP1 PUSH2 0x76 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 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x11E JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x17E JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0xD0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x656 JUMP JUMPDEST PUSH2 0x1AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBA PUSH2 0x23B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0x607 JUMP JUMPDEST PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x108 PUSH2 0x3D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x133 SWAP2 SWAP1 PUSH2 0x5A2 JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x168 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x656 JUMP JUMPDEST PUSH2 0x3F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x198 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x193 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x4F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x24E DUP6 CALLER PUSH2 0x4F1 JUMP JUMPDEST LT ISZERO PUSH2 0x28F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x286 SWAP1 PUSH2 0x711 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x31B SWAP2 SWAP1 PUSH2 0x7D3 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x371 SWAP2 SWAP1 PUSH2 0x7D3 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x77D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x43B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x432 SWAP1 PUSH2 0x731 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x48A SWAP2 SWAP1 PUSH2 0x7D3 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E0 SWAP2 SWAP1 PUSH2 0x77D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x587 DUP2 PUSH2 0x8D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x59C DUP2 PUSH2 0x8E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5C2 DUP5 DUP3 DUP6 ADD PUSH2 0x578 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5EC DUP6 DUP3 DUP7 ADD PUSH2 0x578 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5FD DUP6 DUP3 DUP7 ADD PUSH2 0x578 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x61C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x62A DUP7 DUP3 DUP8 ADD PUSH2 0x578 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x63B DUP7 DUP3 DUP8 ADD PUSH2 0x578 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x64C DUP7 DUP3 DUP8 ADD PUSH2 0x58D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x669 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x677 DUP6 DUP3 DUP7 ADD PUSH2 0x578 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x688 DUP6 DUP3 DUP7 ADD PUSH2 0x58D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x69B DUP2 PUSH2 0x819 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6AE PUSH1 0x16 DUP4 PUSH2 0x76C JUMP JUMPDEST SWAP2 POP PUSH2 0x6B9 DUP3 PUSH2 0x87E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D1 PUSH1 0x19 DUP4 PUSH2 0x76C JUMP JUMPDEST SWAP2 POP PUSH2 0x6DC DUP3 PUSH2 0x8A7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6F0 DUP2 PUSH2 0x845 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x70B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x692 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x72A DUP2 PUSH2 0x6A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x74A DUP2 PUSH2 0x6C4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x766 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x788 DUP3 PUSH2 0x845 JUMP JUMPDEST SWAP2 POP PUSH2 0x793 DUP4 PUSH2 0x845 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x7C8 JUMPI PUSH2 0x7C7 PUSH2 0x84F JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7DE DUP3 PUSH2 0x845 JUMP JUMPDEST SWAP2 POP PUSH2 0x7E9 DUP4 PUSH2 0x845 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x7FC JUMPI PUSH2 0x7FB PUSH2 0x84F JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x812 DUP3 PUSH2 0x825 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5472616E736665727265642076616C7565206973207A65726F00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x8D9 DUP2 PUSH2 0x807 JUMP JUMPDEST DUP2 EQ PUSH2 0x8E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x8F0 DUP2 PUSH2 0x845 JUMP JUMPDEST DUP2 EQ PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA8 0xA6 SWAP2 DUP11 0xDF 0x2A CALL ORIGIN 0xE4 0xE4 SWAP11 SWAP7 LOG1 ADDMOD LOG2 0xD9 0xC6 0x2C 0xFB PUSH21 0xDE3E267B6C8AF323B87F6EC964736F6C6343000804 STOP CALLER ","sourceMap":"57:1085:3:-:0;;;119:1;96:24;;257:94;;;;;;;;;;292:13;278:11;:27;;;;335:11;;311:9;:21;321:10;311:21;;;;;;;;;;;;;;;:35;;;;57:1085;;;;;;"},"deployedBytecode":{"generatedSources":[{"ast":{"nodeType":"YulBlock","src":"0:6120:4","statements":[{"body":{"nodeType":"YulBlock","src":"59:87:4","statements":[{"nodeType":"YulAssignment","src":"69:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"91:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"78:12:4"},"nodeType":"YulFunctionCall","src":"78:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"69:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"134:5:4"}],"functionName":{"name":"validator_revert_t_address","nodeType":"YulIdentifier","src":"107:26:4"},"nodeType":"YulFunctionCall","src":"107:33:4"},"nodeType":"YulExpressionStatement","src":"107:33:4"}]},"name":"abi_decode_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"37:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"45:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"53:5:4","type":""}],"src":"7:139:4"},{"body":{"nodeType":"YulBlock","src":"204:87:4","statements":[{"nodeType":"YulAssignment","src":"214:29:4","value":{"arguments":[{"name":"offset","nodeType":"YulIdentifier","src":"236:6:4"}],"functionName":{"name":"calldataload","nodeType":"YulIdentifier","src":"223:12:4"},"nodeType":"YulFunctionCall","src":"223:20:4"},"variableNames":[{"name":"value","nodeType":"YulIdentifier","src":"214:5:4"}]},{"expression":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"279:5:4"}],"functionName":{"name":"validator_revert_t_uint256","nodeType":"YulIdentifier","src":"252:26:4"},"nodeType":"YulFunctionCall","src":"252:33:4"},"nodeType":"YulExpressionStatement","src":"252:33:4"}]},"name":"abi_decode_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"offset","nodeType":"YulTypedName","src":"182:6:4","type":""},{"name":"end","nodeType":"YulTypedName","src":"190:3:4","type":""}],"returnVariables":[{"name":"value","nodeType":"YulTypedName","src":"198:5:4","type":""}],"src":"152:139:4"},{"body":{"nodeType":"YulBlock","src":"363:196:4","statements":[{"body":{"nodeType":"YulBlock","src":"409:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"418:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"421:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"411:6:4"},"nodeType":"YulFunctionCall","src":"411:12:4"},"nodeType":"YulExpressionStatement","src":"411:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"384:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"393:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"380:3:4"},"nodeType":"YulFunctionCall","src":"380:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"405:2:4","type":"","value":"32"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"376:3:4"},"nodeType":"YulFunctionCall","src":"376:32:4"},"nodeType":"YulIf","src":"373:2:4"},{"nodeType":"YulBlock","src":"435:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"450:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"464:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"454:6:4","type":""}]},{"nodeType":"YulAssignment","src":"479:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"514:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"525:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"510:3:4"},"nodeType":"YulFunctionCall","src":"510:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"534:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"489:20:4"},"nodeType":"YulFunctionCall","src":"489:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"479:6:4"}]}]}]},"name":"abi_decode_tuple_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"333:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"344:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"356:6:4","type":""}],"src":"297:262:4"},{"body":{"nodeType":"YulBlock","src":"648:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"694:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"703:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"706:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"696:6:4"},"nodeType":"YulFunctionCall","src":"696:12:4"},"nodeType":"YulExpressionStatement","src":"696:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"669:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"678:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"665:3:4"},"nodeType":"YulFunctionCall","src":"665:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"690:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"661:3:4"},"nodeType":"YulFunctionCall","src":"661:32:4"},"nodeType":"YulIf","src":"658:2:4"},{"nodeType":"YulBlock","src":"720:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"735:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"749:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"739:6:4","type":""}]},{"nodeType":"YulAssignment","src":"764:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"799:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"810:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"795:3:4"},"nodeType":"YulFunctionCall","src":"795:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"819:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"774:20:4"},"nodeType":"YulFunctionCall","src":"774:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"764:6:4"}]}]},{"nodeType":"YulBlock","src":"847:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"862:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"876:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"866:6:4","type":""}]},{"nodeType":"YulAssignment","src":"892:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"927:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"938:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"923:3:4"},"nodeType":"YulFunctionCall","src":"923:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"947:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"902:20:4"},"nodeType":"YulFunctionCall","src":"902:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"892:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"610:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"621:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"633:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"641:6:4","type":""}],"src":"565:407:4"},{"body":{"nodeType":"YulBlock","src":"1078:452:4","statements":[{"body":{"nodeType":"YulBlock","src":"1124:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1133:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1136:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1126:6:4"},"nodeType":"YulFunctionCall","src":"1126:12:4"},"nodeType":"YulExpressionStatement","src":"1126:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1099:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1108:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1095:3:4"},"nodeType":"YulFunctionCall","src":"1095:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1120:2:4","type":"","value":"96"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1091:3:4"},"nodeType":"YulFunctionCall","src":"1091:32:4"},"nodeType":"YulIf","src":"1088:2:4"},{"nodeType":"YulBlock","src":"1150:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1165:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1179:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1169:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1194:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1229:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1240:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1225:3:4"},"nodeType":"YulFunctionCall","src":"1225:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1249:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1204:20:4"},"nodeType":"YulFunctionCall","src":"1204:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1194:6:4"}]}]},{"nodeType":"YulBlock","src":"1277:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1292:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1306:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1296:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1322:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1357:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1368:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1353:3:4"},"nodeType":"YulFunctionCall","src":"1353:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1377:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1332:20:4"},"nodeType":"YulFunctionCall","src":"1332:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1322:6:4"}]}]},{"nodeType":"YulBlock","src":"1405:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1420:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1434:2:4","type":"","value":"64"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1424:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1450:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1485:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1496:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1481:3:4"},"nodeType":"YulFunctionCall","src":"1481:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1505:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1460:20:4"},"nodeType":"YulFunctionCall","src":"1460:53:4"},"variableNames":[{"name":"value2","nodeType":"YulIdentifier","src":"1450:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1032:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1043:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1055:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1063:6:4","type":""},{"name":"value2","nodeType":"YulTypedName","src":"1071:6:4","type":""}],"src":"978:552:4"},{"body":{"nodeType":"YulBlock","src":"1619:324:4","statements":[{"body":{"nodeType":"YulBlock","src":"1665:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"1674:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"1677:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"1667:6:4"},"nodeType":"YulFunctionCall","src":"1667:12:4"},"nodeType":"YulExpressionStatement","src":"1667:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"dataEnd","nodeType":"YulIdentifier","src":"1640:7:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"1649:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"1636:3:4"},"nodeType":"YulFunctionCall","src":"1636:23:4"},{"kind":"number","nodeType":"YulLiteral","src":"1661:2:4","type":"","value":"64"}],"functionName":{"name":"slt","nodeType":"YulIdentifier","src":"1632:3:4"},"nodeType":"YulFunctionCall","src":"1632:32:4"},"nodeType":"YulIf","src":"1629:2:4"},{"nodeType":"YulBlock","src":"1691:117:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1706:15:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1720:1:4","type":"","value":"0"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1710:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1735:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1770:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1781:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1766:3:4"},"nodeType":"YulFunctionCall","src":"1766:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1790:7:4"}],"functionName":{"name":"abi_decode_t_address","nodeType":"YulIdentifier","src":"1745:20:4"},"nodeType":"YulFunctionCall","src":"1745:53:4"},"variableNames":[{"name":"value0","nodeType":"YulIdentifier","src":"1735:6:4"}]}]},{"nodeType":"YulBlock","src":"1818:118:4","statements":[{"nodeType":"YulVariableDeclaration","src":"1833:16:4","value":{"kind":"number","nodeType":"YulLiteral","src":"1847:2:4","type":"","value":"32"},"variables":[{"name":"offset","nodeType":"YulTypedName","src":"1837:6:4","type":""}]},{"nodeType":"YulAssignment","src":"1863:63:4","value":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"1898:9:4"},{"name":"offset","nodeType":"YulIdentifier","src":"1909:6:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"1894:3:4"},"nodeType":"YulFunctionCall","src":"1894:22:4"},{"name":"dataEnd","nodeType":"YulIdentifier","src":"1918:7:4"}],"functionName":{"name":"abi_decode_t_uint256","nodeType":"YulIdentifier","src":"1873:20:4"},"nodeType":"YulFunctionCall","src":"1873:53:4"},"variableNames":[{"name":"value1","nodeType":"YulIdentifier","src":"1863:6:4"}]}]}]},"name":"abi_decode_tuple_t_addresst_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"1581:9:4","type":""},{"name":"dataEnd","nodeType":"YulTypedName","src":"1592:7:4","type":""}],"returnVariables":[{"name":"value0","nodeType":"YulTypedName","src":"1604:6:4","type":""},{"name":"value1","nodeType":"YulTypedName","src":"1612:6:4","type":""}],"src":"1536:407:4"},{"body":{"nodeType":"YulBlock","src":"2008:50:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2025:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2045:5:4"}],"functionName":{"name":"cleanup_t_bool","nodeType":"YulIdentifier","src":"2030:14:4"},"nodeType":"YulFunctionCall","src":"2030:21:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2018:6:4"},"nodeType":"YulFunctionCall","src":"2018:34:4"},"nodeType":"YulExpressionStatement","src":"2018:34:4"}]},"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"1996:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2003:3:4","type":""}],"src":"1949:109:4"},{"body":{"nodeType":"YulBlock","src":"2210:220:4","statements":[{"nodeType":"YulAssignment","src":"2220:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2286:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2291:2:4","type":"","value":"22"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2227:58:4"},"nodeType":"YulFunctionCall","src":"2227:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2220:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2392:3:4"}],"functionName":{"name":"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","nodeType":"YulIdentifier","src":"2303:88:4"},"nodeType":"YulFunctionCall","src":"2303:93:4"},"nodeType":"YulExpressionStatement","src":"2303:93:4"},{"nodeType":"YulAssignment","src":"2405:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2416:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2421:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2412:3:4"},"nodeType":"YulFunctionCall","src":"2412:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2405:3:4"}]}]},"name":"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2198:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2206:3:4","type":""}],"src":"2064:366:4"},{"body":{"nodeType":"YulBlock","src":"2582:220:4","statements":[{"nodeType":"YulAssignment","src":"2592:74:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2658:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2663:2:4","type":"","value":"25"}],"functionName":{"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"2599:58:4"},"nodeType":"YulFunctionCall","src":"2599:67:4"},"variableNames":[{"name":"pos","nodeType":"YulIdentifier","src":"2592:3:4"}]},{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2764:3:4"}],"functionName":{"name":"store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","nodeType":"YulIdentifier","src":"2675:88:4"},"nodeType":"YulFunctionCall","src":"2675:93:4"},"nodeType":"YulExpressionStatement","src":"2675:93:4"},{"nodeType":"YulAssignment","src":"2777:19:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2788:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"2793:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"2784:3:4"},"nodeType":"YulFunctionCall","src":"2784:12:4"},"variableNames":[{"name":"end","nodeType":"YulIdentifier","src":"2777:3:4"}]}]},"name":"abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"2570:3:4","type":""}],"returnVariables":[{"name":"end","nodeType":"YulTypedName","src":"2578:3:4","type":""}],"src":"2436:366:4"},{"body":{"nodeType":"YulBlock","src":"2873:53:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"2890:3:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"2913:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"2895:17:4"},"nodeType":"YulFunctionCall","src":"2895:24:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"2883:6:4"},"nodeType":"YulFunctionCall","src":"2883:37:4"},"nodeType":"YulExpressionStatement","src":"2883:37:4"}]},"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"2861:5:4","type":""},{"name":"pos","nodeType":"YulTypedName","src":"2868:3:4","type":""}],"src":"2808:118:4"},{"body":{"nodeType":"YulBlock","src":"3024:118:4","statements":[{"nodeType":"YulAssignment","src":"3034:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3046:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3057:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3042:3:4"},"nodeType":"YulFunctionCall","src":"3042:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3034:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"3108:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3121:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3132:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3117:3:4"},"nodeType":"YulFunctionCall","src":"3117:17:4"}],"functionName":{"name":"abi_encode_t_bool_to_t_bool_fromStack","nodeType":"YulIdentifier","src":"3070:37:4"},"nodeType":"YulFunctionCall","src":"3070:65:4"},"nodeType":"YulExpressionStatement","src":"3070:65:4"}]},"name":"abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"2996:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"3008:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3019:4:4","type":""}],"src":"2932:210:4"},{"body":{"nodeType":"YulBlock","src":"3319:248:4","statements":[{"nodeType":"YulAssignment","src":"3329:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3341:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3352:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3337:3:4"},"nodeType":"YulFunctionCall","src":"3337:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3329:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3376:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3387:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3372:3:4"},"nodeType":"YulFunctionCall","src":"3372:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3395:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3401:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3391:3:4"},"nodeType":"YulFunctionCall","src":"3391:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3365:6:4"},"nodeType":"YulFunctionCall","src":"3365:47:4"},"nodeType":"YulExpressionStatement","src":"3365:47:4"},{"nodeType":"YulAssignment","src":"3421:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3555:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3429:124:4"},"nodeType":"YulFunctionCall","src":"3429:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3421:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3299:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3314:4:4","type":""}],"src":"3148:419:4"},{"body":{"nodeType":"YulBlock","src":"3744:248:4","statements":[{"nodeType":"YulAssignment","src":"3754:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3766:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3777:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3762:3:4"},"nodeType":"YulFunctionCall","src":"3762:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3754:4:4"}]},{"expression":{"arguments":[{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"3801:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"3812:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"3797:3:4"},"nodeType":"YulFunctionCall","src":"3797:17:4"},{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3820:4:4"},{"name":"headStart","nodeType":"YulIdentifier","src":"3826:9:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"3816:3:4"},"nodeType":"YulFunctionCall","src":"3816:20:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"3790:6:4"},"nodeType":"YulFunctionCall","src":"3790:47:4"},"nodeType":"YulExpressionStatement","src":"3790:47:4"},{"nodeType":"YulAssignment","src":"3846:139:4","value":{"arguments":[{"name":"tail","nodeType":"YulIdentifier","src":"3980:4:4"}],"functionName":{"name":"abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack","nodeType":"YulIdentifier","src":"3854:124:4"},"nodeType":"YulFunctionCall","src":"3854:131:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"3846:4:4"}]}]},"name":"abi_encode_tuple_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c__to_t_string_memory_ptr__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"3724:9:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"3739:4:4","type":""}],"src":"3573:419:4"},{"body":{"nodeType":"YulBlock","src":"4096:124:4","statements":[{"nodeType":"YulAssignment","src":"4106:26:4","value":{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4118:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4129:2:4","type":"","value":"32"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4114:3:4"},"nodeType":"YulFunctionCall","src":"4114:18:4"},"variableNames":[{"name":"tail","nodeType":"YulIdentifier","src":"4106:4:4"}]},{"expression":{"arguments":[{"name":"value0","nodeType":"YulIdentifier","src":"4186:6:4"},{"arguments":[{"name":"headStart","nodeType":"YulIdentifier","src":"4199:9:4"},{"kind":"number","nodeType":"YulLiteral","src":"4210:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4195:3:4"},"nodeType":"YulFunctionCall","src":"4195:17:4"}],"functionName":{"name":"abi_encode_t_uint256_to_t_uint256_fromStack","nodeType":"YulIdentifier","src":"4142:43:4"},"nodeType":"YulFunctionCall","src":"4142:71:4"},"nodeType":"YulExpressionStatement","src":"4142:71:4"}]},"name":"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed","nodeType":"YulFunctionDefinition","parameters":[{"name":"headStart","nodeType":"YulTypedName","src":"4068:9:4","type":""},{"name":"value0","nodeType":"YulTypedName","src":"4080:6:4","type":""}],"returnVariables":[{"name":"tail","nodeType":"YulTypedName","src":"4091:4:4","type":""}],"src":"3998:222:4"},{"body":{"nodeType":"YulBlock","src":"4322:73:4","statements":[{"expression":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4339:3:4"},{"name":"length","nodeType":"YulIdentifier","src":"4344:6:4"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"4332:6:4"},"nodeType":"YulFunctionCall","src":"4332:19:4"},"nodeType":"YulExpressionStatement","src":"4332:19:4"},{"nodeType":"YulAssignment","src":"4360:29:4","value":{"arguments":[{"name":"pos","nodeType":"YulIdentifier","src":"4379:3:4"},{"kind":"number","nodeType":"YulLiteral","src":"4384:4:4","type":"","value":"0x20"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4375:3:4"},"nodeType":"YulFunctionCall","src":"4375:14:4"},"variableNames":[{"name":"updated_pos","nodeType":"YulIdentifier","src":"4360:11:4"}]}]},"name":"array_storeLengthForEncoding_t_string_memory_ptr_fromStack","nodeType":"YulFunctionDefinition","parameters":[{"name":"pos","nodeType":"YulTypedName","src":"4294:3:4","type":""},{"name":"length","nodeType":"YulTypedName","src":"4299:6:4","type":""}],"returnVariables":[{"name":"updated_pos","nodeType":"YulTypedName","src":"4310:11:4","type":""}],"src":"4226:169:4"},{"body":{"nodeType":"YulBlock","src":"4445:261:4","statements":[{"nodeType":"YulAssignment","src":"4455:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4478:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4460:17:4"},"nodeType":"YulFunctionCall","src":"4460:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"4455:1:4"}]},{"nodeType":"YulAssignment","src":"4489:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"4512:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4494:17:4"},"nodeType":"YulFunctionCall","src":"4494:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"4489:1:4"}]},{"body":{"nodeType":"YulBlock","src":"4652:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4654:16:4"},"nodeType":"YulFunctionCall","src":"4654:18:4"},"nodeType":"YulExpressionStatement","src":"4654:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4573:1:4"},{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"4580:66:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"},{"name":"y","nodeType":"YulIdentifier","src":"4648:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4576:3:4"},"nodeType":"YulFunctionCall","src":"4576:74:4"}],"functionName":{"name":"gt","nodeType":"YulIdentifier","src":"4570:2:4"},"nodeType":"YulFunctionCall","src":"4570:81:4"},"nodeType":"YulIf","src":"4567:2:4"},{"nodeType":"YulAssignment","src":"4684:16:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4695:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"4698:1:4"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"4691:3:4"},"nodeType":"YulFunctionCall","src":"4691:9:4"},"variableNames":[{"name":"sum","nodeType":"YulIdentifier","src":"4684:3:4"}]}]},"name":"checked_add_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4432:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"4435:1:4","type":""}],"returnVariables":[{"name":"sum","nodeType":"YulTypedName","src":"4441:3:4","type":""}],"src":"4401:305:4"},{"body":{"nodeType":"YulBlock","src":"4757:146:4","statements":[{"nodeType":"YulAssignment","src":"4767:25:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4790:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4772:17:4"},"nodeType":"YulFunctionCall","src":"4772:20:4"},"variableNames":[{"name":"x","nodeType":"YulIdentifier","src":"4767:1:4"}]},{"nodeType":"YulAssignment","src":"4801:25:4","value":{"arguments":[{"name":"y","nodeType":"YulIdentifier","src":"4824:1:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"4806:17:4"},"nodeType":"YulFunctionCall","src":"4806:20:4"},"variableNames":[{"name":"y","nodeType":"YulIdentifier","src":"4801:1:4"}]},{"body":{"nodeType":"YulBlock","src":"4848:22:4","statements":[{"expression":{"arguments":[],"functionName":{"name":"panic_error_0x11","nodeType":"YulIdentifier","src":"4850:16:4"},"nodeType":"YulFunctionCall","src":"4850:18:4"},"nodeType":"YulExpressionStatement","src":"4850:18:4"}]},"condition":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4842:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"4845:1:4"}],"functionName":{"name":"lt","nodeType":"YulIdentifier","src":"4839:2:4"},"nodeType":"YulFunctionCall","src":"4839:8:4"},"nodeType":"YulIf","src":"4836:2:4"},{"nodeType":"YulAssignment","src":"4880:17:4","value":{"arguments":[{"name":"x","nodeType":"YulIdentifier","src":"4892:1:4"},{"name":"y","nodeType":"YulIdentifier","src":"4895:1:4"}],"functionName":{"name":"sub","nodeType":"YulIdentifier","src":"4888:3:4"},"nodeType":"YulFunctionCall","src":"4888:9:4"},"variableNames":[{"name":"diff","nodeType":"YulIdentifier","src":"4880:4:4"}]}]},"name":"checked_sub_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"x","nodeType":"YulTypedName","src":"4743:1:4","type":""},{"name":"y","nodeType":"YulTypedName","src":"4746:1:4","type":""}],"returnVariables":[{"name":"diff","nodeType":"YulTypedName","src":"4752:4:4","type":""}],"src":"4712:191:4"},{"body":{"nodeType":"YulBlock","src":"4954:51:4","statements":[{"nodeType":"YulAssignment","src":"4964:35:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"4993:5:4"}],"functionName":{"name":"cleanup_t_uint160","nodeType":"YulIdentifier","src":"4975:17:4"},"nodeType":"YulFunctionCall","src":"4975:24:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"4964:7:4"}]}]},"name":"cleanup_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"4936:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"4946:7:4","type":""}],"src":"4909:96:4"},{"body":{"nodeType":"YulBlock","src":"5053:48:4","statements":[{"nodeType":"YulAssignment","src":"5063:32:4","value":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5088:5:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5081:6:4"},"nodeType":"YulFunctionCall","src":"5081:13:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5074:6:4"},"nodeType":"YulFunctionCall","src":"5074:21:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5063:7:4"}]}]},"name":"cleanup_t_bool","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5035:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5045:7:4","type":""}],"src":"5011:90:4"},{"body":{"nodeType":"YulBlock","src":"5152:81:4","statements":[{"nodeType":"YulAssignment","src":"5162:65:4","value":{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5177:5:4"},{"kind":"number","nodeType":"YulLiteral","src":"5184:42:4","type":"","value":"0xffffffffffffffffffffffffffffffffffffffff"}],"functionName":{"name":"and","nodeType":"YulIdentifier","src":"5173:3:4"},"nodeType":"YulFunctionCall","src":"5173:54:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5162:7:4"}]}]},"name":"cleanup_t_uint160","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5134:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5144:7:4","type":""}],"src":"5107:126:4"},{"body":{"nodeType":"YulBlock","src":"5284:32:4","statements":[{"nodeType":"YulAssignment","src":"5294:16:4","value":{"name":"value","nodeType":"YulIdentifier","src":"5305:5:4"},"variableNames":[{"name":"cleaned","nodeType":"YulIdentifier","src":"5294:7:4"}]}]},"name":"cleanup_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5266:5:4","type":""}],"returnVariables":[{"name":"cleaned","nodeType":"YulTypedName","src":"5276:7:4","type":""}],"src":"5239:77:4"},{"body":{"nodeType":"YulBlock","src":"5350:152:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5367:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5370:77:4","type":"","value":"35408467139433450592217433187231851964531694900788300625387963629091585785856"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5360:6:4"},"nodeType":"YulFunctionCall","src":"5360:88:4"},"nodeType":"YulExpressionStatement","src":"5360:88:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5464:1:4","type":"","value":"4"},{"kind":"number","nodeType":"YulLiteral","src":"5467:4:4","type":"","value":"0x11"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5457:6:4"},"nodeType":"YulFunctionCall","src":"5457:15:4"},"nodeType":"YulExpressionStatement","src":"5457:15:4"},{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5488:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5491:4:4","type":"","value":"0x24"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5481:6:4"},"nodeType":"YulFunctionCall","src":"5481:15:4"},"nodeType":"YulExpressionStatement","src":"5481:15:4"}]},"name":"panic_error_0x11","nodeType":"YulFunctionDefinition","src":"5322:180:4"},{"body":{"nodeType":"YulBlock","src":"5614:66:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5636:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5644:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5632:3:4"},"nodeType":"YulFunctionCall","src":"5632:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"5648:24:4","type":"","value":"Insufficient allowance"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5625:6:4"},"nodeType":"YulFunctionCall","src":"5625:48:4"},"nodeType":"YulExpressionStatement","src":"5625:48:4"}]},"name":"store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"5606:6:4","type":""}],"src":"5508:172:4"},{"body":{"nodeType":"YulBlock","src":"5792:69:4","statements":[{"expression":{"arguments":[{"arguments":[{"name":"memPtr","nodeType":"YulIdentifier","src":"5814:6:4"},{"kind":"number","nodeType":"YulLiteral","src":"5822:1:4","type":"","value":"0"}],"functionName":{"name":"add","nodeType":"YulIdentifier","src":"5810:3:4"},"nodeType":"YulFunctionCall","src":"5810:14:4"},{"kind":"string","nodeType":"YulLiteral","src":"5826:27:4","type":"","value":"Transferred value is zero"}],"functionName":{"name":"mstore","nodeType":"YulIdentifier","src":"5803:6:4"},"nodeType":"YulFunctionCall","src":"5803:51:4"},"nodeType":"YulExpressionStatement","src":"5803:51:4"}]},"name":"store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c","nodeType":"YulFunctionDefinition","parameters":[{"name":"memPtr","nodeType":"YulTypedName","src":"5784:6:4","type":""}],"src":"5686:175:4"},{"body":{"nodeType":"YulBlock","src":"5910:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"5967:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"5976:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"5979:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"5969:6:4"},"nodeType":"YulFunctionCall","src":"5969:12:4"},"nodeType":"YulExpressionStatement","src":"5969:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5933:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"5958:5:4"}],"functionName":{"name":"cleanup_t_address","nodeType":"YulIdentifier","src":"5940:17:4"},"nodeType":"YulFunctionCall","src":"5940:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"5930:2:4"},"nodeType":"YulFunctionCall","src":"5930:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"5923:6:4"},"nodeType":"YulFunctionCall","src":"5923:43:4"},"nodeType":"YulIf","src":"5920:2:4"}]},"name":"validator_revert_t_address","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"5903:5:4","type":""}],"src":"5867:122:4"},{"body":{"nodeType":"YulBlock","src":"6038:79:4","statements":[{"body":{"nodeType":"YulBlock","src":"6095:16:4","statements":[{"expression":{"arguments":[{"kind":"number","nodeType":"YulLiteral","src":"6104:1:4","type":"","value":"0"},{"kind":"number","nodeType":"YulLiteral","src":"6107:1:4","type":"","value":"0"}],"functionName":{"name":"revert","nodeType":"YulIdentifier","src":"6097:6:4"},"nodeType":"YulFunctionCall","src":"6097:12:4"},"nodeType":"YulExpressionStatement","src":"6097:12:4"}]},"condition":{"arguments":[{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6061:5:4"},{"arguments":[{"name":"value","nodeType":"YulIdentifier","src":"6086:5:4"}],"functionName":{"name":"cleanup_t_uint256","nodeType":"YulIdentifier","src":"6068:17:4"},"nodeType":"YulFunctionCall","src":"6068:24:4"}],"functionName":{"name":"eq","nodeType":"YulIdentifier","src":"6058:2:4"},"nodeType":"YulFunctionCall","src":"6058:35:4"}],"functionName":{"name":"iszero","nodeType":"YulIdentifier","src":"6051:6:4"},"nodeType":"YulFunctionCall","src":"6051:43:4"},"nodeType":"YulIf","src":"6048:2:4"}]},"name":"validator_revert_t_uint256","nodeType":"YulFunctionDefinition","parameters":[{"name":"value","nodeType":"YulTypedName","src":"6031:5:4","type":""}],"src":"5995:122:4"}]},"contents":"{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 25)\n store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_sub_t_uint256(x, y) -> diff {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n if lt(x, y) { panic_error_0x11() }\n\n diff := sub(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function store_literal_in_memory_45e3d26e36c3151c7f92a1eee9add9658cbb8e14605ee2452ec007389b9744bc(memPtr) {\n\n mstore(add(memPtr, 0), \"Insufficient allowance\")\n\n }\n\n function store_literal_in_memory_4ca3cd75a1831a94a24913bfd2c9b9d35acbb11ac3447f65bb0682cf14f63f5c(memPtr) {\n\n mstore(add(memPtr, 0), \"Transferred value is zero\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n","id":4,"language":"Yul","name":"#utility.yul"}],"immutableReferences":{},"linkReferences":{},"object":"608060405234801561001057600080fd5b506004361061007d5760003560e01c8063313ce5671161005b578063313ce5671461010057806370a082311461011e578063a9059cbb1461014e578063dd62ed3e1461017e5761007d565b8063095ea7b31461008257806318160ddd146100b257806323b872dd146100d0575b600080fd5b61009c60048036038101906100979190610656565b6101ae565b6040516100a991906106f6565b60405180910390f35b6100ba61023b565b6040516100c79190610751565b60405180910390f35b6100ea60048036038101906100e59190610607565b610241565b6040516100f791906106f6565b60405180910390f35b6101086103d9565b6040516101159190610751565b60405180910390f35b610138600480360381019061013391906105a2565b6103df565b6040516101459190610751565b60405180910390f35b61016860048036038101906101639190610656565b6103f7565b60405161017591906106f6565b60405180910390f35b610198600480360381019061019391906105cb565b6104f1565b6040516101a59190610751565b60405180910390f35b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161024e85336104f1565b101561028f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028690610711565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461031b91906107d3565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461037191906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103c7919061077d565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600080821161043b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043290610731565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461048a91906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e0919061077d565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600081359050610587816108d0565b92915050565b60008135905061059c816108e7565b92915050565b6000602082840312156105b457600080fd5b60006105c284828501610578565b91505092915050565b600080604083850312156105de57600080fd5b60006105ec85828601610578565b92505060206105fd85828601610578565b9150509250929050565b60008060006060848603121561061c57600080fd5b600061062a86828701610578565b935050602061063b86828701610578565b925050604061064c8682870161058d565b9150509250925092565b6000806040838503121561066957600080fd5b600061067785828601610578565b92505060206106888582860161058d565b9150509250929050565b61069b81610819565b82525050565b60006106ae60168361076c565b91506106b98261087e565b602082019050919050565b60006106d160198361076c565b91506106dc826108a7565b602082019050919050565b6106f081610845565b82525050565b600060208201905061070b6000830184610692565b92915050565b6000602082019050818103600083015261072a816106a1565b9050919050565b6000602082019050818103600083015261074a816106c4565b9050919050565b600060208201905061076660008301846106e7565b92915050565b600082825260208201905092915050565b600061078882610845565b915061079383610845565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156107c8576107c761084f565b5b828201905092915050565b60006107de82610845565b91506107e983610845565b9250828210156107fc576107fb61084f565b5b828203905092915050565b600061081282610825565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b6108d981610807565b81146108e457600080fd5b50565b6108f081610845565b81146108fb57600080fd5b5056fea2646970667358221220a8a6918adf2af132e4e49a96a108a2d9c62cfb74de3e267b6c8af323b87f6ec964736f6c63430008040033","opcodes":"PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x7D JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x313CE567 GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x100 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x11E JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x14E JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x17E JUMPI PUSH2 0x7D JUMP JUMPDEST DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x82 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xB2 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0xD0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x9C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x97 SWAP2 SWAP1 PUSH2 0x656 JUMP JUMPDEST PUSH2 0x1AE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xA9 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xBA PUSH2 0x23B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC7 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xEA PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE5 SWAP2 SWAP1 PUSH2 0x607 JUMP JUMPDEST PUSH2 0x241 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF7 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x108 PUSH2 0x3D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x115 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x138 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x133 SWAP2 SWAP1 PUSH2 0x5A2 JUMP JUMPDEST PUSH2 0x3DF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x145 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x168 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x656 JUMP JUMPDEST PUSH2 0x3F7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x175 SWAP2 SWAP1 PUSH2 0x6F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x198 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x193 SWAP2 SWAP1 PUSH2 0x5CB JUMP JUMPDEST PUSH2 0x4F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A5 SWAP2 SWAP1 PUSH2 0x751 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x3 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH2 0x24E DUP6 CALLER PUSH2 0x4F1 JUMP JUMPDEST LT ISZERO PUSH2 0x28F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x286 SWAP1 PUSH2 0x711 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x31B SWAP2 SWAP1 PUSH2 0x7D3 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x371 SWAP2 SWAP1 PUSH2 0x7D3 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x3C7 SWAP2 SWAP1 PUSH2 0x77D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x2 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP SLOAD DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 GT PUSH2 0x43B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x432 SWAP1 PUSH2 0x731 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x2 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x48A SWAP2 SWAP1 PUSH2 0x7D3 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x2 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x4E0 SWAP2 SWAP1 PUSH2 0x77D JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH1 0x1 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x587 DUP2 PUSH2 0x8D0 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x59C DUP2 PUSH2 0x8E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x5B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5C2 DUP5 DUP3 DUP6 ADD PUSH2 0x578 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x5DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x5EC DUP6 DUP3 DUP7 ADD PUSH2 0x578 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x5FD DUP6 DUP3 DUP7 ADD PUSH2 0x578 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x61C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x62A DUP7 DUP3 DUP8 ADD PUSH2 0x578 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x63B DUP7 DUP3 DUP8 ADD PUSH2 0x578 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x64C DUP7 DUP3 DUP8 ADD PUSH2 0x58D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x669 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x677 DUP6 DUP3 DUP7 ADD PUSH2 0x578 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x688 DUP6 DUP3 DUP7 ADD PUSH2 0x58D JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x69B DUP2 PUSH2 0x819 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6AE PUSH1 0x16 DUP4 PUSH2 0x76C JUMP JUMPDEST SWAP2 POP PUSH2 0x6B9 DUP3 PUSH2 0x87E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x6D1 PUSH1 0x19 DUP4 PUSH2 0x76C JUMP JUMPDEST SWAP2 POP PUSH2 0x6DC DUP3 PUSH2 0x8A7 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6F0 DUP2 PUSH2 0x845 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x70B PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x692 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x72A DUP2 PUSH2 0x6A1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x74A DUP2 PUSH2 0x6C4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x766 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x6E7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x788 DUP3 PUSH2 0x845 JUMP JUMPDEST SWAP2 POP PUSH2 0x793 DUP4 PUSH2 0x845 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x7C8 JUMPI PUSH2 0x7C7 PUSH2 0x84F JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x7DE DUP3 PUSH2 0x845 JUMP JUMPDEST SWAP2 POP PUSH2 0x7E9 DUP4 PUSH2 0x845 JUMP JUMPDEST SWAP3 POP DUP3 DUP3 LT ISZERO PUSH2 0x7FC JUMPI PUSH2 0x7FB PUSH2 0x84F JUMP JUMPDEST JUMPDEST DUP3 DUP3 SUB SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x812 DUP3 PUSH2 0x825 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x496E73756666696369656E7420616C6C6F77616E636500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5472616E736665727265642076616C7565206973207A65726F00000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x8D9 DUP2 PUSH2 0x807 JUMP JUMPDEST DUP2 EQ PUSH2 0x8E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x8F0 DUP2 PUSH2 0x845 JUMP JUMPDEST DUP2 EQ PUSH2 0x8FB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xA8 0xA6 SWAP2 DUP11 0xDF 0x2A CALL ORIGIN 0xE4 0xE4 SWAP11 SWAP7 LOG1 ADDMOD LOG2 0xD9 0xC6 0x2C 0xFB PUSH21 0xDE3E267B6C8AF323B87F6EC964736F6C6343000804 STOP CALLER ","sourceMap":"57:1085:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;703:146;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;125:23;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;853:287;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;96:24;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;152:41;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;355:205;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;564:135;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;703:146;768:12;822:5;788:10;:22;799:10;788:22;;;;;;;;;;;;;;;:31;811:7;788:31;;;;;;;;;;;;;;;:39;;;;840:4;833:11;;703:146;;;;:::o;125:23::-;;;;:::o;853:287::-;932:4;983:5;952:27;962:4;968:10;952:9;:27::i;:::-;:36;;944:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;1054:5;1022:10;:16;1033:4;1022:16;;;;;;;;;;;;;;;:28;1039:10;1022:28;;;;;;;;;;;;;;;;:37;;;;;;;:::i;:::-;;;;;;;;1084:5;1065:9;:15;1075:4;1065:15;;;;;;;;;;;;;;;;:24;;;;;;;:::i;:::-;;;;;;;;1112:5;1095:9;:13;1105:2;1095:13;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;1131:4;1124:11;;853:287;;;;;:::o;96:24::-;;;;:::o;152:41::-;;;;;;;;;;;;;;;;;:::o;355:205::-;413:4;441:1;433:5;:9;425:47;;;;;;;;;;;;:::i;:::-;;;;;;;;;504:5;479:9;:21;489:10;479:21;;;;;;;;;;;;;;;;:30;;;;;;;:::i;:::-;;;;;;;;532:5;515:9;:13;525:2;515:13;;;;;;;;;;;;;;;;:22;;;;;;;:::i;:::-;;;;;;;;551:4;544:11;;355:205;;;;:::o;564:135::-;636:17;668:10;:17;679:5;668:17;;;;;;;;;;;;;;;:26;686:7;668:26;;;;;;;;;;;;;;;;661:33;;564:135;;;;:::o;7:139:4:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:366::-;2206:3;2227:67;2291:2;2286:3;2227:67;:::i;:::-;2220:74;;2303:93;2392:3;2303:93;:::i;:::-;2421:2;2416:3;2412:12;2405:19;;2210:220;;;:::o;2436:366::-;2578:3;2599:67;2663:2;2658:3;2599:67;:::i;:::-;2592:74;;2675:93;2764:3;2675:93;:::i;:::-;2793:2;2788:3;2784:12;2777:19;;2582:220;;;:::o;2808:118::-;2895:24;2913:5;2895:24;:::i;:::-;2890:3;2883:37;2873:53;;:::o;2932:210::-;3019:4;3057:2;3046:9;3042:18;3034:26;;3070:65;3132:1;3121:9;3117:17;3108:6;3070:65;:::i;:::-;3024:118;;;;:::o;3148:419::-;3314:4;3352:2;3341:9;3337:18;3329:26;;3401:9;3395:4;3391:20;3387:1;3376:9;3372:17;3365:47;3429:131;3555:4;3429:131;:::i;:::-;3421:139;;3319:248;;;:::o;3573:419::-;3739:4;3777:2;3766:9;3762:18;3754:26;;3826:9;3820:4;3816:20;3812:1;3801:9;3797:17;3790:47;3854:131;3980:4;3854:131;:::i;:::-;3846:139;;3744:248;;;:::o;3998:222::-;4091:4;4129:2;4118:9;4114:18;4106:26;;4142:71;4210:1;4199:9;4195:17;4186:6;4142:71;:::i;:::-;4096:124;;;;:::o;4226:169::-;4310:11;4344:6;4339:3;4332:19;4384:4;4379:3;4375:14;4360:29;;4322:73;;;;:::o;4401:305::-;4441:3;4460:20;4478:1;4460:20;:::i;:::-;4455:25;;4494:20;4512:1;4494:20;:::i;:::-;4489:25;;4648:1;4580:66;4576:74;4573:1;4570:81;4567:2;;;4654:18;;:::i;:::-;4567:2;4698:1;4695;4691:9;4684:16;;4445:261;;;;:::o;4712:191::-;4752:4;4772:20;4790:1;4772:20;:::i;:::-;4767:25;;4806:20;4824:1;4806:20;:::i;:::-;4801:25;;4845:1;4842;4839:8;4836:2;;;4850:18;;:::i;:::-;4836:2;4895:1;4892;4888:9;4880:17;;4757:146;;;;:::o;4909:96::-;4946:7;4975:24;4993:5;4975:24;:::i;:::-;4964:35;;4954:51;;;:::o;5011:90::-;5045:7;5088:5;5081:13;5074:21;5063:32;;5053:48;;;:::o;5107:126::-;5144:7;5184:42;5177:5;5173:54;5162:65;;5152:81;;;:::o;5239:77::-;5276:7;5305:5;5294:16;;5284:32;;;:::o;5322:180::-;5370:77;5367:1;5360:88;5467:4;5464:1;5457:15;5491:4;5488:1;5481:15;5508:172;5648:24;5644:1;5636:6;5632:14;5625:48;5614:66;:::o;5686:175::-;5826:27;5822:1;5814:6;5810:14;5803:51;5792:69;:::o;5867:122::-;5940:24;5958:5;5940:24;:::i;:::-;5933:5;5930:35;5920:2;;5979:1;5976;5969:12;5920:2;5910:79;:::o;5995:122::-;6068:24;6086:5;6068:24;:::i;:::-;6061:5;6058:35;6048:2;;6107:1;6104;6097:12;6048:2;6038:79;:::o"},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"}},"metadata":"{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"remaining\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Token.sol\":\"TokenWithoutNameNorSymbol\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/Token.sol\":{\"keccak256\":\"0x3c98df2a7295115a107e950c40733f37ce5384cf18a0b5efb948ccf6d1acaa59\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21c0d9ad7fee4c50e057a477ec0c151985566e51e1df46d3dc42f4320eceeccf\",\"dweb:/ipfs/QmSVvnCWd9MH3F93atgJGuwbHMJpifnoMLSosQsZUKUrZ8\"]}},\"version\":1}"}}}}} \ No newline at end of file diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/ChangeEtherBalance.sol/ChangeEtherBalance.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/ChangeEtherBalance.sol/ChangeEtherBalance.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/ChangeEtherBalance.sol/ChangeEtherBalance.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/ChangeEtherBalance.sol/ChangeEtherBalance.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/ChangeEtherBalance.sol/ChangeEtherBalance.json new file mode 100644 index 0000000000..b533ba35a4 --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/ChangeEtherBalance.sol/ChangeEtherBalance.json @@ -0,0 +1,35 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "ChangeEtherBalance", + "sourceName": "contracts/ChangeEtherBalance.sol", + "abi": [ + { + "inputs": [], + "name": "returnHalf", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "addr", + "type": "address" + } + ], + "name": "transferTo", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "stateMutability": "payable", + "type": "receive" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610225806100206000396000f3fe60806040526004361061002d5760003560e01c8063a03fa7e314610039578063b019946e1461005557610034565b3661003457005b600080fd5b610053600480360381019061004e9190610113565b61005f565b005b61005d6100a9565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156100a5573d6000803e3d6000fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc6002346100d0919061013c565b9081150290604051600060405180830381858888f193505050501580156100fb573d6000803e3d6000fd5b50565b60008135905061010d816101d8565b92915050565b60006020828403121561012557600080fd5b6000610133848285016100fe565b91505092915050565b60006101478261019f565b91506101528361019f565b925082610162576101616101a9565b5b828204905092915050565b60006101788261017f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6101e18161016d565b81146101ec57600080fd5b5056fea26469706673582212208e553461507bae731d37afa0d5a2a7dae74de7a6eab682733425a78884ed60b364736f6c63430008040033", + "deployedBytecode": "0x60806040526004361061002d5760003560e01c8063a03fa7e314610039578063b019946e1461005557610034565b3661003457005b600080fd5b610053600480360381019061004e9190610113565b61005f565b005b61005d6100a9565b005b8073ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156100a5573d6000803e3d6000fd5b5050565b3373ffffffffffffffffffffffffffffffffffffffff166108fc6002346100d0919061013c565b9081150290604051600060405180830381858888f193505050501580156100fb573d6000803e3d6000fd5b50565b60008135905061010d816101d8565b92915050565b60006020828403121561012557600080fd5b6000610133848285016100fe565b91505092915050565b60006101478261019f565b91506101528361019f565b925082610162576101616101a9565b5b828204905092915050565b60006101788261017f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6101e18161016d565b81146101ec57600080fd5b5056fea26469706673582212208e553461507bae731d37afa0d5a2a7dae74de7a6eab682733425a78884ed60b364736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/AnotherContract.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/AnotherContract.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/AnotherContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/AnotherContract.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/AnotherContract.json new file mode 100644 index 0000000000..495cf4c9ed --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/AnotherContract.json @@ -0,0 +1,37 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AnotherContract", + "sourceName": "contracts/Events.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "WithUintArg", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "emitUint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610130806100206000396000f3fe6080604052348015600f57600080fd5b506004361060285760003560e01c80639194024414602d575b600080fd5b60436004803603810190603f91906090565b6045565b005b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516072919060c3565b60405180910390a150565b600081359050608a8160e6565b92915050565b60006020828403121560a157600080fd5b600060ad84828501607d565b91505092915050565b60bd8160dc565b82525050565b600060208201905060d6600083018460b6565b92915050565b6000819050919050565b60ed8160dc565b811460f757600080fd5b5056fea264697066735822122083cb9b1ec00d6d1ec78d28771d3bf4778c5ba00b0532a2448d42cbab653355a064736f6c63430008040033", + "deployedBytecode": "0x6080604052348015600f57600080fd5b506004361060285760003560e01c80639194024414602d575b600080fd5b60436004803603810190603f91906090565b6045565b005b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516072919060c3565b60405180910390a150565b600081359050608a8160e6565b92915050565b60006020828403121560a157600080fd5b600060ad84828501607d565b91505092915050565b60bd8160dc565b82525050565b600060208201905060d6600083018460b6565b92915050565b6000819050919050565b60ed8160dc565b811460f757600080fd5b5056fea264697066735822122083cb9b1ec00d6d1ec78d28771d3bf4778c5ba00b0532a2448d42cbab653355a064736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/Events.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/Events.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/Events.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/Events.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/Events.json new file mode 100644 index 0000000000..965dcb8d99 --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/Events.json @@ -0,0 +1,527 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Events", + "sourceName": "contracts/Events.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "contract AnotherContract", + "name": "c", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "a", + "type": "address" + } + ], + "name": "WithAddressArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32", + "name": "b", + "type": "bytes32" + } + ], + "name": "WithBytes32Arg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes32[2]", + "name": "a", + "type": "bytes32[2]" + } + ], + "name": "WithBytes32Array", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "bytes", + "name": "b", + "type": "bytes" + } + ], + "name": "WithBytesArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "b", + "type": "bytes32" + } + ], + "name": "WithIndexedBytes32Arg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes", + "name": "b", + "type": "bytes" + } + ], + "name": "WithIndexedBytesArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "string", + "name": "s", + "type": "string" + } + ], + "name": "WithIndexedStringArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int256", + "name": "i", + "type": "int256" + } + ], + "name": "WithIntArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "s", + "type": "string" + } + ], + "name": "WithStringArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "indexed": false, + "internalType": "struct Events.Struct", + "name": "s", + "type": "tuple" + } + ], + "name": "WithStructArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "s", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "t", + "type": "string" + } + ], + "name": "WithTwoStringArgs", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "name": "WithTwoUintArgs", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "WithUintArg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256[2]", + "name": "a", + "type": "uint256[2]" + } + ], + "name": "WithUintArray", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "WithoutArgs", + "type": "event" + }, + { + "inputs": [], + "name": "doNotEmit", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "a", + "type": "address" + } + ], + "name": "emitAddress", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "b", + "type": "bytes" + } + ], + "name": "emitBytes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "b", + "type": "bytes32" + } + ], + "name": "emitBytes32", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "b", + "type": "bytes32" + }, + { + "internalType": "bytes32", + "name": "c", + "type": "bytes32" + } + ], + "name": "emitBytes32Array", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes", + "name": "b", + "type": "bytes" + } + ], + "name": "emitIndexedBytes", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "b", + "type": "bytes32" + } + ], + "name": "emitIndexedBytes32", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "s", + "type": "string" + } + ], + "name": "emitIndexedString", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "i", + "type": "int256" + } + ], + "name": "emitInt", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "emitNestedUintFromAnotherContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "emitNestedUintFromSameContract", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "s", + "type": "string" + } + ], + "name": "emitString", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "name": "emitStruct", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "name": "emitTwoUints", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + }, + { + "internalType": "string", + "name": "s", + "type": "string" + }, + { + "internalType": "string", + "name": "t", + "type": "string" + } + ], + "name": "emitTwoUintsAndTwoStrings", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "emitUint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "internalType": "string", + "name": "s", + "type": "string" + } + ], + "name": "emitUintAndString", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "name": "emitUintArray", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "v", + "type": "uint256" + } + ], + "name": "emitUintTwice", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "emitWithoutArgs", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x60806040523480156200001157600080fd5b506040516200140d3803806200140d833981810160405281019062000037919062000095565b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000123565b6000815190506200008f8162000109565b92915050565b600060208284031215620000a857600080fd5b6000620000b8848285016200007e565b91505092915050565b6000620000ce82620000e9565b9050919050565b6000620000e282620000c1565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6200011481620000d5565b81146200012057600080fd5b50565b6112da80620001336000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80638a618191116100ad578063c76f063511610071578063c76f0635146102c3578063cc07e605146102df578063d3931e57146102fb578063db6cdf6814610317578063ec5c3ede146103215761012c565b80638a6181911461024957806390b37ea214610265578063919402441461026f5780639f31a2231461028b578063c0cd80e6146102a75761012c565b806333311ef3116100f457806333311ef3146101bd57806338393646146101d9578063443690a0146101f5578063532b9cce14610211578063813a8cf51461022d5761012c565b8063048858e5146101315780630c0c941a1461014d57806317aba537146101695780632536f127146101855780632785f8d6146101a1575b600080fd5b61014b600480360381019061014691906109f0565b61033d565b005b61016760048036038101906101629190610b7d565b61036d565b005b610183600480360381019061017e9190610b7d565b6103df565b005b61019f600480360381019061019a9190610abf565b61042e565b005b6101bb60048036038101906101b69190610b29565b610468565b005b6101d760048036038101906101d291906109f0565b6104da565b005b6101f360048036038101906101ee9190610b7d565b610514565b005b61020f600480360381019061020a9190610abf565b610551565b005b61022b60048036038101906102269190610bb9565b610596565b005b61024760048036038101906102429190610b00565b61060e565b005b610263600480360381019061025e9190610a96565b61061a565b005b61026d610654565b005b61028960048036038101906102849190610b00565b610682565b005b6102a560048036038101906102a09190610b7d565b6106bc565b005b6102c160048036038101906102bc9190610a19565b61070b565b005b6102dd60048036038101906102d89190610a55565b61075a565b005b6102f960048036038101906102f49190610a55565b610794565b005b61031560048036038101906103109190610b00565b6107d9565b005b61031f610867565b005b61033b600480360381019061033691906109c7565b610869565b005b807fb421ad092cfce88844bfbfaa9654e824ba0ee5b6b0a220f822406b62c05364c060405160405180910390a250565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce8260405161039c9190610fd2565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516103d39190610fd2565b60405180910390a15050565b7f73e687a2685d698f7acf934b4929a29ae783a4bcb640d71c5d6994d74e2380ca6040518060400160405280848152602001838152506040516104229190610eeb565b60405180910390a15050565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a8160405161045d9190610f5e565b60405180910390a150565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a816040516104979190610f5e565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce826040516104ce9190610fd2565b60405180910390a15050565b7f425517d2678bbca3c0d9d8d9fdbec34c81194e7935ed48a6a19f97db93bcef6a816040516105099190610f06565b60405180910390a150565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e8282604051610545929190610fed565b60405180910390a15050565b8060405161055f9190610e9e565b60405180910390207fd9ca28363e2d8739e0e9c4fea1d2df98d1bd7d9d915d00e5fccbf78c0fddcdb060405160405180910390a250565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e84846040516105c7929190610fed565b60405180910390a17f1f1a2c748505fcd8f16a719fa88d517b1b41111c4f5e07bb28311cdc4d1515388282604051610600929190610f80565b60405180910390a150505050565b61061781610682565b50565b7f39feab747bb4f579008aea963d7ebac85ad410bb83ee663a42af01464654e93f816040516106499190610f43565b60405180910390a150565b7f917b7bf7ab24d61500cb699921a3a1cc22b8833da6484fea20f262b2610604af60405160405180910390a1565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516106b19190610fd2565b60405180910390a150565b7fd59ab87bf64b9d737998f3dc70c649d16b135f085029c1666ca0634beb75a7736040518060400160405280848152602001838152506040516106ff9190610fb7565b60405180910390a15050565b7f15100859f3ffe92910dc3f11ed3db4e9cf32ff657c05066e44be4e69b2b488bc60405180604001604052808481526020018381525060405161074e9190610ed0565b60405180910390a15050565b7f433470edcdd53b50238be4d8e048e2baa269af5be2a4e29515c138883c745aa8816040516107899190610f21565b60405180910390a150565b806040516107a29190610e87565b60405180910390207f160e4655df40987951accf7c731d5c504f77d20c139bd73032821b91a426dd9860405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391940244826040518263ffffffff1660e01b81526004016108329190610fd2565b600060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505050565b565b7f336bcd960d2e5a52cef6094ba33727f309dc2c675eebefc6d9b6b6d79abac877816040516108989190610eb5565b60405180910390a150565b60006108b66108b18461103b565b611016565b9050828152602081018484840111156108ce57600080fd5b6108d9848285611195565b509392505050565b60006108f46108ef8461106c565b611016565b90508281526020810184848401111561090c57600080fd5b610917848285611195565b509392505050565b60008135905061092e81611248565b92915050565b6000813590506109438161125f565b92915050565b600082601f83011261095a57600080fd5b813561096a8482602086016108a3565b91505092915050565b60008135905061098281611276565b92915050565b600082601f83011261099957600080fd5b81356109a98482602086016108e1565b91505092915050565b6000813590506109c18161128d565b92915050565b6000602082840312156109d957600080fd5b60006109e78482850161091f565b91505092915050565b600060208284031215610a0257600080fd5b6000610a1084828501610934565b91505092915050565b60008060408385031215610a2c57600080fd5b6000610a3a85828601610934565b9250506020610a4b85828601610934565b9150509250929050565b600060208284031215610a6757600080fd5b600082013567ffffffffffffffff811115610a8157600080fd5b610a8d84828501610949565b91505092915050565b600060208284031215610aa857600080fd5b6000610ab684828501610973565b91505092915050565b600060208284031215610ad157600080fd5b600082013567ffffffffffffffff811115610aeb57600080fd5b610af784828501610988565b91505092915050565b600060208284031215610b1257600080fd5b6000610b20848285016109b2565b91505092915050565b60008060408385031215610b3c57600080fd5b6000610b4a858286016109b2565b925050602083013567ffffffffffffffff811115610b6757600080fd5b610b7385828601610988565b9150509250929050565b60008060408385031215610b9057600080fd5b6000610b9e858286016109b2565b9250506020610baf858286016109b2565b9150509250929050565b60008060008060808587031215610bcf57600080fd5b6000610bdd878288016109b2565b9450506020610bee878288016109b2565b935050604085013567ffffffffffffffff811115610c0b57600080fd5b610c1787828801610988565b925050606085013567ffffffffffffffff811115610c3457600080fd5b610c4087828801610988565b91505092959194509250565b6000610c588383610d39565b60208301905092915050565b6000610c708383610e69565b60208301905092915050565b610c8581611145565b82525050565b610c94816110b1565b610c9e81846110f7565b9250610ca98261109d565b8060005b83811015610cda578151610cc18782610c4c565b9650610ccc836110dd565b925050600181019050610cad565b505050505050565b610ceb816110bc565b610cf58184611102565b9250610d00826110a7565b8060005b83811015610d31578151610d188782610c64565b9650610d23836110ea565b925050600181019050610d04565b505050505050565b610d4281611157565b82525050565b610d5181611157565b82525050565b6000610d62826110c7565b610d6c818561110d565b9350610d7c8185602086016111a4565b610d8581611237565b840191505092915050565b6000610d9b826110c7565b610da5818561111e565b9350610db58185602086016111a4565b80840191505092915050565b610dca81611161565b82525050565b6000610ddb826110d2565b610de58185611129565b9350610df58185602086016111a4565b610dfe81611237565b840191505092915050565b6000610e14826110d2565b610e1e818561113a565b9350610e2e8185602086016111a4565b80840191505092915050565b604082016000820151610e506000850182610e69565b506020820151610e636020850182610e69565b50505050565b610e728161118b565b82525050565b610e818161118b565b82525050565b6000610e938284610d90565b915081905092915050565b6000610eaa8284610e09565b915081905092915050565b6000602082019050610eca6000830184610c7c565b92915050565b6000604082019050610ee56000830184610c8b565b92915050565b6000604082019050610f006000830184610ce2565b92915050565b6000602082019050610f1b6000830184610d48565b92915050565b60006020820190508181036000830152610f3b8184610d57565b905092915050565b6000602082019050610f586000830184610dc1565b92915050565b60006020820190508181036000830152610f788184610dd0565b905092915050565b60006040820190508181036000830152610f9a8185610dd0565b90508181036020830152610fae8184610dd0565b90509392505050565b6000604082019050610fcc6000830184610e3a565b92915050565b6000602082019050610fe76000830184610e78565b92915050565b60006040820190506110026000830185610e78565b61100f6020830184610e78565b9392505050565b6000611020611031565b905061102c82826111d7565b919050565b6000604051905090565b600067ffffffffffffffff82111561105657611055611208565b5b61105f82611237565b9050602081019050919050565b600067ffffffffffffffff82111561108757611086611208565b5b61109082611237565b9050602081019050919050565b6000819050919050565b6000819050919050565b600060029050919050565b600060029050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006111508261116b565b9050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156111c25780820151818401526020810190506111a7565b838111156111d1576000848401525b50505050565b6111e082611237565b810181811067ffffffffffffffff821117156111ff576111fe611208565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61125181611145565b811461125c57600080fd5b50565b61126881611157565b811461127357600080fd5b50565b61127f81611161565b811461128a57600080fd5b50565b6112968161118b565b81146112a157600080fd5b5056fea264697066735822122073a91a740c0de3883c5213c5981d98d2396a8b60b3cf2fb364d7e4cc826a841e64736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061012c5760003560e01c80638a618191116100ad578063c76f063511610071578063c76f0635146102c3578063cc07e605146102df578063d3931e57146102fb578063db6cdf6814610317578063ec5c3ede146103215761012c565b80638a6181911461024957806390b37ea214610265578063919402441461026f5780639f31a2231461028b578063c0cd80e6146102a75761012c565b806333311ef3116100f457806333311ef3146101bd57806338393646146101d9578063443690a0146101f5578063532b9cce14610211578063813a8cf51461022d5761012c565b8063048858e5146101315780630c0c941a1461014d57806317aba537146101695780632536f127146101855780632785f8d6146101a1575b600080fd5b61014b600480360381019061014691906109f0565b61033d565b005b61016760048036038101906101629190610b7d565b61036d565b005b610183600480360381019061017e9190610b7d565b6103df565b005b61019f600480360381019061019a9190610abf565b61042e565b005b6101bb60048036038101906101b69190610b29565b610468565b005b6101d760048036038101906101d291906109f0565b6104da565b005b6101f360048036038101906101ee9190610b7d565b610514565b005b61020f600480360381019061020a9190610abf565b610551565b005b61022b60048036038101906102269190610bb9565b610596565b005b61024760048036038101906102429190610b00565b61060e565b005b610263600480360381019061025e9190610a96565b61061a565b005b61026d610654565b005b61028960048036038101906102849190610b00565b610682565b005b6102a560048036038101906102a09190610b7d565b6106bc565b005b6102c160048036038101906102bc9190610a19565b61070b565b005b6102dd60048036038101906102d89190610a55565b61075a565b005b6102f960048036038101906102f49190610a55565b610794565b005b61031560048036038101906103109190610b00565b6107d9565b005b61031f610867565b005b61033b600480360381019061033691906109c7565b610869565b005b807fb421ad092cfce88844bfbfaa9654e824ba0ee5b6b0a220f822406b62c05364c060405160405180910390a250565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce8260405161039c9190610fd2565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516103d39190610fd2565b60405180910390a15050565b7f73e687a2685d698f7acf934b4929a29ae783a4bcb640d71c5d6994d74e2380ca6040518060400160405280848152602001838152506040516104229190610eeb565b60405180910390a15050565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a8160405161045d9190610f5e565b60405180910390a150565b7f9b7ddcbde8dac280e036f87acafec72f9eee31a640c08087e8439139c7e5b52a816040516104979190610f5e565b60405180910390a17f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce826040516104ce9190610fd2565b60405180910390a15050565b7f425517d2678bbca3c0d9d8d9fdbec34c81194e7935ed48a6a19f97db93bcef6a816040516105099190610f06565b60405180910390a150565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e8282604051610545929190610fed565b60405180910390a15050565b8060405161055f9190610e9e565b60405180910390207fd9ca28363e2d8739e0e9c4fea1d2df98d1bd7d9d915d00e5fccbf78c0fddcdb060405160405180910390a250565b7f8b268bb46a33a55bece084a8b6858719c9f2985c860fa06c155a341df0b73c0e84846040516105c7929190610fed565b60405180910390a17f1f1a2c748505fcd8f16a719fa88d517b1b41111c4f5e07bb28311cdc4d1515388282604051610600929190610f80565b60405180910390a150505050565b61061781610682565b50565b7f39feab747bb4f579008aea963d7ebac85ad410bb83ee663a42af01464654e93f816040516106499190610f43565b60405180910390a150565b7f917b7bf7ab24d61500cb699921a3a1cc22b8833da6484fea20f262b2610604af60405160405180910390a1565b7f97535d4b4270d3f1a499c85ae918ba6798cbdcc83a26529331a25dcd2194cfce816040516106b19190610fd2565b60405180910390a150565b7fd59ab87bf64b9d737998f3dc70c649d16b135f085029c1666ca0634beb75a7736040518060400160405280848152602001838152506040516106ff9190610fb7565b60405180910390a15050565b7f15100859f3ffe92910dc3f11ed3db4e9cf32ff657c05066e44be4e69b2b488bc60405180604001604052808481526020018381525060405161074e9190610ed0565b60405180910390a15050565b7f433470edcdd53b50238be4d8e048e2baa269af5be2a4e29515c138883c745aa8816040516107899190610f21565b60405180910390a150565b806040516107a29190610e87565b60405180910390207f160e4655df40987951accf7c731d5c504f77d20c139bd73032821b91a426dd9860405160405180910390a250565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166391940244826040518263ffffffff1660e01b81526004016108329190610fd2565b600060405180830381600087803b15801561084c57600080fd5b505af1158015610860573d6000803e3d6000fd5b5050505050565b565b7f336bcd960d2e5a52cef6094ba33727f309dc2c675eebefc6d9b6b6d79abac877816040516108989190610eb5565b60405180910390a150565b60006108b66108b18461103b565b611016565b9050828152602081018484840111156108ce57600080fd5b6108d9848285611195565b509392505050565b60006108f46108ef8461106c565b611016565b90508281526020810184848401111561090c57600080fd5b610917848285611195565b509392505050565b60008135905061092e81611248565b92915050565b6000813590506109438161125f565b92915050565b600082601f83011261095a57600080fd5b813561096a8482602086016108a3565b91505092915050565b60008135905061098281611276565b92915050565b600082601f83011261099957600080fd5b81356109a98482602086016108e1565b91505092915050565b6000813590506109c18161128d565b92915050565b6000602082840312156109d957600080fd5b60006109e78482850161091f565b91505092915050565b600060208284031215610a0257600080fd5b6000610a1084828501610934565b91505092915050565b60008060408385031215610a2c57600080fd5b6000610a3a85828601610934565b9250506020610a4b85828601610934565b9150509250929050565b600060208284031215610a6757600080fd5b600082013567ffffffffffffffff811115610a8157600080fd5b610a8d84828501610949565b91505092915050565b600060208284031215610aa857600080fd5b6000610ab684828501610973565b91505092915050565b600060208284031215610ad157600080fd5b600082013567ffffffffffffffff811115610aeb57600080fd5b610af784828501610988565b91505092915050565b600060208284031215610b1257600080fd5b6000610b20848285016109b2565b91505092915050565b60008060408385031215610b3c57600080fd5b6000610b4a858286016109b2565b925050602083013567ffffffffffffffff811115610b6757600080fd5b610b7385828601610988565b9150509250929050565b60008060408385031215610b9057600080fd5b6000610b9e858286016109b2565b9250506020610baf858286016109b2565b9150509250929050565b60008060008060808587031215610bcf57600080fd5b6000610bdd878288016109b2565b9450506020610bee878288016109b2565b935050604085013567ffffffffffffffff811115610c0b57600080fd5b610c1787828801610988565b925050606085013567ffffffffffffffff811115610c3457600080fd5b610c4087828801610988565b91505092959194509250565b6000610c588383610d39565b60208301905092915050565b6000610c708383610e69565b60208301905092915050565b610c8581611145565b82525050565b610c94816110b1565b610c9e81846110f7565b9250610ca98261109d565b8060005b83811015610cda578151610cc18782610c4c565b9650610ccc836110dd565b925050600181019050610cad565b505050505050565b610ceb816110bc565b610cf58184611102565b9250610d00826110a7565b8060005b83811015610d31578151610d188782610c64565b9650610d23836110ea565b925050600181019050610d04565b505050505050565b610d4281611157565b82525050565b610d5181611157565b82525050565b6000610d62826110c7565b610d6c818561110d565b9350610d7c8185602086016111a4565b610d8581611237565b840191505092915050565b6000610d9b826110c7565b610da5818561111e565b9350610db58185602086016111a4565b80840191505092915050565b610dca81611161565b82525050565b6000610ddb826110d2565b610de58185611129565b9350610df58185602086016111a4565b610dfe81611237565b840191505092915050565b6000610e14826110d2565b610e1e818561113a565b9350610e2e8185602086016111a4565b80840191505092915050565b604082016000820151610e506000850182610e69565b506020820151610e636020850182610e69565b50505050565b610e728161118b565b82525050565b610e818161118b565b82525050565b6000610e938284610d90565b915081905092915050565b6000610eaa8284610e09565b915081905092915050565b6000602082019050610eca6000830184610c7c565b92915050565b6000604082019050610ee56000830184610c8b565b92915050565b6000604082019050610f006000830184610ce2565b92915050565b6000602082019050610f1b6000830184610d48565b92915050565b60006020820190508181036000830152610f3b8184610d57565b905092915050565b6000602082019050610f586000830184610dc1565b92915050565b60006020820190508181036000830152610f788184610dd0565b905092915050565b60006040820190508181036000830152610f9a8185610dd0565b90508181036020830152610fae8184610dd0565b90509392505050565b6000604082019050610fcc6000830184610e3a565b92915050565b6000602082019050610fe76000830184610e78565b92915050565b60006040820190506110026000830185610e78565b61100f6020830184610e78565b9392505050565b6000611020611031565b905061102c82826111d7565b919050565b6000604051905090565b600067ffffffffffffffff82111561105657611055611208565b5b61105f82611237565b9050602081019050919050565b600067ffffffffffffffff82111561108757611086611208565b5b61109082611237565b9050602081019050919050565b6000819050919050565b6000819050919050565b600060029050919050565b600060029050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b6000602082019050919050565b600081905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b60006111508261116b565b9050919050565b6000819050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156111c25780820151818401526020810190506111a7565b838111156111d1576000848401525b50505050565b6111e082611237565b810181811067ffffffffffffffff821117156111ff576111fe611208565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61125181611145565b811461125c57600080fd5b50565b61126881611157565b811461127357600080fd5b50565b61127f81611161565b811461128a57600080fd5b50565b6112968161118b565b81146112a157600080fd5b5056fea264697066735822122073a91a740c0de3883c5213c5981d98d2396a8b60b3cf2fb364d7e4cc826a841e64736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/OverrideEventContract.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/OverrideEventContract.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/OverrideEventContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/OverrideEventContract.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/OverrideEventContract.json new file mode 100644 index 0000000000..8400a4909c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Events.sol/OverrideEventContract.json @@ -0,0 +1,50 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "OverrideEventContract", + "sourceName": "contracts/Events.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "simpleEvent", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "simpleEvent", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "u", + "type": "uint256" + } + ], + "name": "emitSimpleEventWithUintArg", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "emitSimpleEventWithoutArg", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610188806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c80632ce136d91461003b5780638e1c72bb14610057575b600080fd5b610055600480360381019061005091906100de565b610061565b005b61005f61009b565b005b7fb2dc4835200bc382210c109031e47d05b37c9244807898f5910a43f961e6719a816040516100909190610116565b60405180910390a150565b7f8922a6ca0f59f137d8e739a3dca968247fca890d147a5006a57da5bc782f6ae960405160405180910390a1565b6000813590506100d88161013b565b92915050565b6000602082840312156100f057600080fd5b60006100fe848285016100c9565b91505092915050565b61011081610131565b82525050565b600060208201905061012b6000830184610107565b92915050565b6000819050919050565b61014481610131565b811461014f57600080fd5b5056fea264697066735822122016232a4f6ea73657adfebd142c8d15f5593e419f600cb1983aba440defd27a5064736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c80632ce136d91461003b5780638e1c72bb14610057575b600080fd5b610055600480360381019061005091906100de565b610061565b005b61005f61009b565b005b7fb2dc4835200bc382210c109031e47d05b37c9244807898f5910a43f961e6719a816040516100909190610116565b60405180910390a150565b7f8922a6ca0f59f137d8e739a3dca968247fca890d147a5006a57da5bc782f6ae960405160405180910390a1565b6000813590506100d88161013b565b92915050565b6000602082840312156100f057600080fd5b60006100fe848285016100c9565b91505092915050565b61011081610131565b82525050565b600060208201905061012b6000830184610107565b92915050565b6000819050919050565b61014481610131565b811461014f57600080fd5b5056fea264697066735822122016232a4f6ea73657adfebd142c8d15f5593e419f600cb1983aba440defd27a5064736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/AnotherMatchersContract.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/AnotherMatchersContract.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/AnotherMatchersContract.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/AnotherMatchersContract.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/AnotherMatchersContract.json new file mode 100644 index 0000000000..6774821378 --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/AnotherMatchersContract.json @@ -0,0 +1,30 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AnotherMatchersContract", + "sourceName": "contracts/Matchers.sol", + "abi": [ + { + "inputs": [], + "name": "YetAnotherCustomError", + "type": "error" + }, + { + "inputs": [], + "name": "revertWithYetAnotherCustomError", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "revertWithYetAnotherCustomErrorView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b50610182806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806340d83b241461003b5780634b2bd7e914610045575b600080fd5b61004361004f565b005b61004d610081565b005b6040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080815480929190610093906100d4565b91905055506040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000819050919050565b60006100df826100ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101125761011161011d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220188b4117d3c1f35f2fcbff7fbf51ee28f08c8abd18e3796ccd1d2fbc8c862e3f64736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100365760003560e01c806340d83b241461003b5780634b2bd7e914610045575b600080fd5b61004361004f565b005b61004d610081565b005b6040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080815480929190610093906100d4565b91905055506040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000819050919050565b60006100df826100ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101125761011161011d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220188b4117d3c1f35f2fcbff7fbf51ee28f08c8abd18e3796ccd1d2fbc8c862e3f64736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/Matchers.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/Matchers.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/Matchers.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/Matchers.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/Matchers.json new file mode 100644 index 0000000000..5a4f85691d --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Matchers.sol/Matchers.json @@ -0,0 +1,333 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "Matchers", + "sourceName": "contracts/Matchers.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [], + "name": "AnotherCustomError", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "", + "type": "int256" + } + ], + "name": "CustomErrorWithInt", + "type": "error" + }, + { + "inputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "a", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "b", + "type": "uint256" + } + ], + "internalType": "struct Matchers.Pair", + "name": "", + "type": "tuple" + } + ], + "name": "CustomErrorWithPair", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "nameToForceEthersToUseAnArrayLikeWithNamedProperties", + "type": "uint256" + } + ], + "name": "CustomErrorWithUint", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + }, + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "CustomErrorWithUintAndString", + "type": "error" + }, + { + "inputs": [], + "name": "SomeCustomError", + "type": "error" + }, + { + "anonymous": false, + "inputs": [], + "name": "SomeEvent", + "type": "event" + }, + { + "inputs": [], + "name": "panicAssert", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "panicAssertView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "revertWithAnotherContractCustomError", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "revertWithAnotherContractCustomErrorView", + "outputs": [], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "revertWithAnotherCustomError", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "revertWithAnotherCustomErrorView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "i", + "type": "int256" + } + ], + "name": "revertWithCustomErrorWithInt", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int256", + "name": "i", + "type": "int256" + } + ], + "name": "revertWithCustomErrorWithIntView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "a", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "b", + "type": "uint256" + } + ], + "name": "revertWithCustomErrorWithPair", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "a", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "b", + "type": "uint256" + } + ], + "name": "revertWithCustomErrorWithPairView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "n", + "type": "uint256" + } + ], + "name": "revertWithCustomErrorWithUint", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "n", + "type": "uint256" + }, + { + "internalType": "string", + "name": "s", + "type": "string" + } + ], + "name": "revertWithCustomErrorWithUintAndString", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "n", + "type": "uint256" + }, + { + "internalType": "string", + "name": "s", + "type": "string" + } + ], + "name": "revertWithCustomErrorWithUintAndStringView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "n", + "type": "uint256" + } + ], + "name": "revertWithCustomErrorWithUintView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "revertWithSomeCustomError", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "revertWithSomeCustomErrorView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "revertsWith", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "reason", + "type": "string" + } + ], + "name": "revertsWithView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "revertsWithoutReason", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "revertsWithoutReasonView", + "outputs": [], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [], + "name": "succeeds", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "succeedsView", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x608060405234801561001057600080fd5b5060405161001d9061007f565b604051809103906000f080158015610039573d6000803e3d6000fd5b50600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008c565b6101a280610e8a83390190565b610def8061009b6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806373d2ea85116100b8578063aac014e01161007c578063aac014e01461028b578063b6bbe06114610295578063bad92aa91461029f578063e0a03812146102a9578063fe276a34146102c5578063ffb4746b146102e157610142565b806373d2ea851461022357806374afd4521461023f578063772f243a146102495780637c3cb0af146102535780638f9330301461026f57610142565b80634b5bbf6a1161010a5780634b5bbf6a146101c157806358a1d1ed146101cb5780635b94e31e146101d5578063622051f1146101df5780636f1fdc31146101e95780636fc588d21461020557610142565b80631b4f3f3d146101475780631f542cf3146101515780633ba4178b1461016d578063467e3d371461018957806347c56769146101a5575b600080fd5b61014f6102eb565b005b61016b60048036038101906101669190610a66565b61030f565b005b61018760048036038101906101829190610a12565b610360565b005b6101a3600480360381019061019e91906109a8565b61039f565b005b6101bf60048036038101906101ba919061097f565b6103e7565b005b6101c9610424565b005b6101d361046d565b005b6101dd61047a565b005b6101e76104b1565b005b61020360048036038101906101fe91906109a8565b610533565b005b61020d610592565b60405161021a9190610b8f565b60405180910390f35b61023d600480360381019061023891906109e9565b61059b565b005b6102476105ef565b005b610251610608565b005b61026d600480360381019061026891906109e9565b6106a3565b005b6102896004803603810190610284919061097f565b6106e0565b005b610293610734565b005b61029d610766565b005b6102a76107b4565b005b6102c360048036038101906102be9190610a66565b6107fd565b005b6102df60048036038101906102da9190610a12565b610865565b005b6102e96108bb565b005b6000808154809291906102fd90610cd3565b9190505550600061030d57600080fd5b565b6040518060400160405280838152602001828152506040517fdecab0e70000000000000000000000000000000000000000000000000000000081526004016103579190610b74565b60405180910390fd5b81816040517fa92ee8e3000000000000000000000000000000000000000000000000000000008152600401610396929190610baa565b60405180910390fd5b600081906103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da9190610b52565b60405180910390fd5b5050565b806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161041b9190610b37565b60405180910390fd5b60008081548092919061043690610cd3565b91905055506040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061047857600080fd5b565b60006104af577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340d83b246040518163ffffffff1660e01b815260040160006040518083038186803b15801561051957600080fd5b505afa15801561052d573d6000803e3d6000fd5b50505050565b60008081548092919061054590610cd3565b91905055506000819061058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105859190610b52565b60405180910390fd5b5050565b60008054905090565b6000808154809291906105ad90610cd3565b9190505550806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016105e69190610b8f565b60405180910390fd5b60008081548092919061060190610cd3565b9190505550565b60008081548092919061061a90610cd3565b9190505550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2bd7e96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561068957600080fd5b505af115801561069d573d6000803e3d6000fd5b50505050565b806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016106d79190610b8f565b60405180910390fd5b6000808154809291906106f290610cd3565b9190505550806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161072b9190610b37565b60405180910390fd5b6040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061077890610cd3565b919050555060006107b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b6000808154809291906107c690610cd3565b91905055506040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061080f90610cd3565b91905055506040518060400160405280838152602001828152506040517fdecab0e700000000000000000000000000000000000000000000000000000000815260040161085c9190610b74565b60405180910390fd5b60008081548092919061087790610cd3565b919050555081816040517fa92ee8e30000000000000000000000000000000000000000000000000000000081526004016108b2929190610baa565b60405180910390fd5b6040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109006108fb84610bff565b610bda565b90508281526020810184848401111561091857600080fd5b610923848285610c60565b509392505050565b60008135905061093a81610d8b565b92915050565b600082601f83011261095157600080fd5b81356109618482602086016108ed565b91505092915050565b60008135905061097981610da2565b92915050565b60006020828403121561099157600080fd5b600061099f8482850161092b565b91505092915050565b6000602082840312156109ba57600080fd5b600082013567ffffffffffffffff8111156109d457600080fd5b6109e084828501610940565b91505092915050565b6000602082840312156109fb57600080fd5b6000610a098482850161096a565b91505092915050565b60008060408385031215610a2557600080fd5b6000610a338582860161096a565b925050602083013567ffffffffffffffff811115610a5057600080fd5b610a5c85828601610940565b9150509250929050565b60008060408385031215610a7957600080fd5b6000610a878582860161096a565b9250506020610a988582860161096a565b9150509250929050565b610aab81610c4c565b82525050565b6000610abc82610c30565b610ac68185610c3b565b9350610ad6818560208601610c6f565b610adf81610d7a565b840191505092915050565b604082016000820151610b006000850182610b19565b506020820151610b136020850182610b19565b50505050565b610b2281610c56565b82525050565b610b3181610c56565b82525050565b6000602082019050610b4c6000830184610aa2565b92915050565b60006020820190508181036000830152610b6c8184610ab1565b905092915050565b6000604082019050610b896000830184610aea565b92915050565b6000602082019050610ba46000830184610b28565b92915050565b6000604082019050610bbf6000830185610b28565b8181036020830152610bd18184610ab1565b90509392505050565b6000610be4610bf5565b9050610bf08282610ca2565b919050565b6000604051905090565b600067ffffffffffffffff821115610c1a57610c19610d4b565b5b610c2382610d7a565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610c8d578082015181840152602081019050610c72565b83811115610c9c576000848401525b50505050565b610cab82610d7a565b810181811067ffffffffffffffff82111715610cca57610cc9610d4b565b5b80604052505050565b6000610cde82610c56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d1157610d10610d1c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b610d9481610c4c565b8114610d9f57600080fd5b50565b610dab81610c56565b8114610db657600080fd5b5056fea264697066735822122025e4c9eca28af81eeb16cfbb3832355e24c64c7eae221a5034159a671d61281464736f6c63430008040033608060405234801561001057600080fd5b50610182806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806340d83b241461003b5780634b2bd7e914610045575b600080fd5b61004361004f565b005b61004d610081565b005b6040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080815480929190610093906100d4565b91905055506040517fff05e87500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000819050919050565b60006100df826100ca565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156101125761011161011d565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fdfea2646970667358221220188b4117d3c1f35f2fcbff7fbf51ee28f08c8abd18e3796ccd1d2fbc8c862e3f64736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101425760003560e01c806373d2ea85116100b8578063aac014e01161007c578063aac014e01461028b578063b6bbe06114610295578063bad92aa91461029f578063e0a03812146102a9578063fe276a34146102c5578063ffb4746b146102e157610142565b806373d2ea851461022357806374afd4521461023f578063772f243a146102495780637c3cb0af146102535780638f9330301461026f57610142565b80634b5bbf6a1161010a5780634b5bbf6a146101c157806358a1d1ed146101cb5780635b94e31e146101d5578063622051f1146101df5780636f1fdc31146101e95780636fc588d21461020557610142565b80631b4f3f3d146101475780631f542cf3146101515780633ba4178b1461016d578063467e3d371461018957806347c56769146101a5575b600080fd5b61014f6102eb565b005b61016b60048036038101906101669190610a66565b61030f565b005b61018760048036038101906101829190610a12565b610360565b005b6101a3600480360381019061019e91906109a8565b61039f565b005b6101bf60048036038101906101ba919061097f565b6103e7565b005b6101c9610424565b005b6101d361046d565b005b6101dd61047a565b005b6101e76104b1565b005b61020360048036038101906101fe91906109a8565b610533565b005b61020d610592565b60405161021a9190610b8f565b60405180910390f35b61023d600480360381019061023891906109e9565b61059b565b005b6102476105ef565b005b610251610608565b005b61026d600480360381019061026891906109e9565b6106a3565b005b6102896004803603810190610284919061097f565b6106e0565b005b610293610734565b005b61029d610766565b005b6102a76107b4565b005b6102c360048036038101906102be9190610a66565b6107fd565b005b6102df60048036038101906102da9190610a12565b610865565b005b6102e96108bb565b005b6000808154809291906102fd90610cd3565b9190505550600061030d57600080fd5b565b6040518060400160405280838152602001828152506040517fdecab0e70000000000000000000000000000000000000000000000000000000081526004016103579190610b74565b60405180910390fd5b81816040517fa92ee8e3000000000000000000000000000000000000000000000000000000008152600401610396929190610baa565b60405180910390fd5b600081906103e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016103da9190610b52565b60405180910390fd5b5050565b806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161041b9190610b37565b60405180910390fd5b60008081548092919061043690610cd3565b91905055506040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061047857600080fd5b565b60006104af577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166340d83b246040518163ffffffff1660e01b815260040160006040518083038186803b15801561051957600080fd5b505afa15801561052d573d6000803e3d6000fd5b50505050565b60008081548092919061054590610cd3565b91905055506000819061058e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105859190610b52565b60405180910390fd5b5050565b60008054905090565b6000808154809291906105ad90610cd3565b9190505550806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016105e69190610b8f565b60405180910390fd5b60008081548092919061060190610cd3565b9190505550565b60008081548092919061061a90610cd3565b9190505550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634b2bd7e96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561068957600080fd5b505af115801561069d573d6000803e3d6000fd5b50505050565b806040517f01f4d5d20000000000000000000000000000000000000000000000000000000081526004016106d79190610b8f565b60405180910390fd5b6000808154809291906106f290610cd3565b9190505550806040517fcdd7a0cc00000000000000000000000000000000000000000000000000000000815260040161072b9190610b37565b60405180910390fd5b6040517fd2c097a600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061077890610cd3565b919050555060006107b2577f4e487b7100000000000000000000000000000000000000000000000000000000600052600160045260246000fd5b565b6000808154809291906107c690610cd3565b91905055506040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008081548092919061080f90610cd3565b91905055506040518060400160405280838152602001828152506040517fdecab0e700000000000000000000000000000000000000000000000000000000815260040161085c9190610b74565b60405180910390fd5b60008081548092919061087790610cd3565b919050555081816040517fa92ee8e30000000000000000000000000000000000000000000000000000000081526004016108b2929190610baa565b60405180910390fd5b6040517f0bd3d39c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006109006108fb84610bff565b610bda565b90508281526020810184848401111561091857600080fd5b610923848285610c60565b509392505050565b60008135905061093a81610d8b565b92915050565b600082601f83011261095157600080fd5b81356109618482602086016108ed565b91505092915050565b60008135905061097981610da2565b92915050565b60006020828403121561099157600080fd5b600061099f8482850161092b565b91505092915050565b6000602082840312156109ba57600080fd5b600082013567ffffffffffffffff8111156109d457600080fd5b6109e084828501610940565b91505092915050565b6000602082840312156109fb57600080fd5b6000610a098482850161096a565b91505092915050565b60008060408385031215610a2557600080fd5b6000610a338582860161096a565b925050602083013567ffffffffffffffff811115610a5057600080fd5b610a5c85828601610940565b9150509250929050565b60008060408385031215610a7957600080fd5b6000610a878582860161096a565b9250506020610a988582860161096a565b9150509250929050565b610aab81610c4c565b82525050565b6000610abc82610c30565b610ac68185610c3b565b9350610ad6818560208601610c6f565b610adf81610d7a565b840191505092915050565b604082016000820151610b006000850182610b19565b506020820151610b136020850182610b19565b50505050565b610b2281610c56565b82525050565b610b3181610c56565b82525050565b6000602082019050610b4c6000830184610aa2565b92915050565b60006020820190508181036000830152610b6c8184610ab1565b905092915050565b6000604082019050610b896000830184610aea565b92915050565b6000602082019050610ba46000830184610b28565b92915050565b6000604082019050610bbf6000830185610b28565b8181036020830152610bd18184610ab1565b90509392505050565b6000610be4610bf5565b9050610bf08282610ca2565b919050565b6000604051905090565b600067ffffffffffffffff821115610c1a57610c19610d4b565b5b610c2382610d7a565b9050602081019050919050565b600081519050919050565b600082825260208201905092915050565b6000819050919050565b6000819050919050565b82818337600083830152505050565b60005b83811015610c8d578082015181840152602081019050610c72565b83811115610c9c576000848401525b50505050565b610cab82610d7a565b810181811067ffffffffffffffff82111715610cca57610cc9610d4b565b5b80604052505050565b6000610cde82610c56565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415610d1157610d10610d1c565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b610d9481610c4c565b8114610d9f57600080fd5b50565b610dab81610c56565b8114610db657600080fd5b5056fea264697066735822122025e4c9eca28af81eeb16cfbb3832355e24c64c7eae221a5034159a671d61281464736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/MockToken.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/MockToken.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/MockToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/MockToken.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/MockToken.json new file mode 100644 index 0000000000..20f3bfa19b --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/MockToken.json @@ -0,0 +1,183 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "MockToken", + "sourceName": "contracts/Token.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "remaining", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "symbol", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260016000556040518060400160405280600981526020017f4d6f636b546f6b656e000000000000000000000000000000000000000000000081525060049080519060200190620000569291906200010a565b506040518060400160405280600381526020017f4d434b000000000000000000000000000000000000000000000000000000000081525060059080519060200190620000a49291906200010a565b50348015620000b257600080fd5b50633b9aca00600181905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506200021f565b8280546200011890620001ba565b90600052602060002090601f0160209004810192826200013c576000855562000188565b82601f106200015757805160ff191683800117855562000188565b8280016001018555821562000188579182015b82811115620001875782518255916020019190600101906200016a565b5b5090506200019791906200019b565b5090565b5b80821115620001b65760008160009055506001016200019c565b5090565b60006002820490506001821680620001d357607f821691505b60208210811415620001ea57620001e9620001f0565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b610bad806200022f6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad91906108b8565b60405180910390f35b6100d060048036038101906100cb91906107c4565b61028e565b6040516100dd919061089d565b60405180910390f35b6100ee61031b565b6040516100fb919061091a565b60405180910390f35b61011e60048036038101906101199190610775565b610321565b60405161012b919061089d565b60405180910390f35b61013c6104b9565b604051610149919061091a565b60405180910390f35b61016c60048036038101906101679190610710565b6104bf565b604051610179919061091a565b60405180910390f35b61018a6104d7565b60405161019791906108b8565b60405180910390f35b6101ba60048036038101906101b591906107c4565b610565565b6040516101c7919061089d565b60405180910390f35b6101ea60048036038101906101e59190610739565b61065f565b6040516101f7919061091a565b60405180910390f35b6004805461020d90610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610a56565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161032e853361065f565b101561036f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610366906108da565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103fb91906109a7565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045191906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104a79190610951565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600580546104e490610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610a56565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b60008082116105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a0906108fa565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105f891906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461064e9190610951565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000813590506106f581610b49565b92915050565b60008135905061070a81610b60565b92915050565b60006020828403121561072257600080fd5b6000610730848285016106e6565b91505092915050565b6000806040838503121561074c57600080fd5b600061075a858286016106e6565b925050602061076b858286016106e6565b9150509250929050565b60008060006060848603121561078a57600080fd5b6000610798868287016106e6565b93505060206107a9868287016106e6565b92505060406107ba868287016106fb565b9150509250925092565b600080604083850312156107d757600080fd5b60006107e5858286016106e6565b92505060206107f6858286016106fb565b9150509250929050565b610809816109ed565b82525050565b600061081a82610935565b6108248185610940565b9350610834818560208601610a23565b61083d81610ae6565b840191505092915050565b6000610855601683610940565b915061086082610af7565b602082019050919050565b6000610878601983610940565b915061088382610b20565b602082019050919050565b61089781610a19565b82525050565b60006020820190506108b26000830184610800565b92915050565b600060208201905081810360008301526108d2818461080f565b905092915050565b600060208201905081810360008301526108f381610848565b9050919050565b600060208201905081810360008301526109138161086b565b9050919050565b600060208201905061092f600083018461088e565b92915050565b600081519050919050565b600082825260208201905092915050565b600061095c82610a19565b915061096783610a19565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561099c5761099b610a88565b5b828201905092915050565b60006109b282610a19565b91506109bd83610a19565b9250828210156109d0576109cf610a88565b5b828203905092915050565b60006109e6826109f9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610a41578082015181840152602081019050610a26565b83811115610a50576000848401525b50505050565b60006002820490506001821680610a6e57607f821691505b60208210811415610a8257610a81610ab7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610b52816109db565b8114610b5d57600080fd5b50565b610b6981610a19565b8114610b7457600080fd5b5056fea26469706673582212208ce961870c9d6cd505270df5da0c70d49a8f6cb7e04d5a03b16637783be136e764736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad91906108b8565b60405180910390f35b6100d060048036038101906100cb91906107c4565b61028e565b6040516100dd919061089d565b60405180910390f35b6100ee61031b565b6040516100fb919061091a565b60405180910390f35b61011e60048036038101906101199190610775565b610321565b60405161012b919061089d565b60405180910390f35b61013c6104b9565b604051610149919061091a565b60405180910390f35b61016c60048036038101906101679190610710565b6104bf565b604051610179919061091a565b60405180910390f35b61018a6104d7565b60405161019791906108b8565b60405180910390f35b6101ba60048036038101906101b591906107c4565b610565565b6040516101c7919061089d565b60405180910390f35b6101ea60048036038101906101e59190610739565b61065f565b6040516101f7919061091a565b60405180910390f35b6004805461020d90610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610a56565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161032e853361065f565b101561036f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610366906108da565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103fb91906109a7565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461045191906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104a79190610951565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600580546104e490610a56565b80601f016020809104026020016040519081016040528092919081815260200182805461051090610a56565b801561055d5780601f106105325761010080835404028352916020019161055d565b820191906000526020600020905b81548152906001019060200180831161054057829003601f168201915b505050505081565b60008082116105a9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105a0906108fa565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105f891906109a7565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461064e9190610951565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000813590506106f581610b49565b92915050565b60008135905061070a81610b60565b92915050565b60006020828403121561072257600080fd5b6000610730848285016106e6565b91505092915050565b6000806040838503121561074c57600080fd5b600061075a858286016106e6565b925050602061076b858286016106e6565b9150509250929050565b60008060006060848603121561078a57600080fd5b6000610798868287016106e6565b93505060206107a9868287016106e6565b92505060406107ba868287016106fb565b9150509250925092565b600080604083850312156107d757600080fd5b60006107e5858286016106e6565b92505060206107f6858286016106fb565b9150509250929050565b610809816109ed565b82525050565b600061081a82610935565b6108248185610940565b9350610834818560208601610a23565b61083d81610ae6565b840191505092915050565b6000610855601683610940565b915061086082610af7565b602082019050919050565b6000610878601983610940565b915061088382610b20565b602082019050919050565b61089781610a19565b82525050565b60006020820190506108b26000830184610800565b92915050565b600060208201905081810360008301526108d2818461080f565b905092915050565b600060208201905081810360008301526108f381610848565b9050919050565b600060208201905081810360008301526109138161086b565b9050919050565b600060208201905061092f600083018461088e565b92915050565b600081519050919050565b600082825260208201905092915050565b600061095c82610a19565b915061096783610a19565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561099c5761099b610a88565b5b828201905092915050565b60006109b282610a19565b91506109bd83610a19565b9250828210156109d0576109cf610a88565b5b828203905092915050565b60006109e6826109f9565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b83811015610a41578082015181840152602081019050610a26565b83811115610a50576000848401525b50505050565b60006002820490506001821680610a6e57607f821691505b60208210811415610a8257610a81610ab7565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610b52816109db565b8114610b5d57600080fd5b50565b610b6981610a19565b8114610b7457600080fd5b5056fea26469706673582212208ce961870c9d6cd505270df5da0c70d49a8f6cb7e04d5a03b16637783be136e764736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/NotAToken.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/NotAToken.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/NotAToken.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/NotAToken.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/NotAToken.json new file mode 100644 index 0000000000..e50d9826d8 --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/NotAToken.json @@ -0,0 +1,10 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "NotAToken", + "sourceName": "contracts/Token.sol", + "abi": [], + "bytecode": "0x6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfea26469706673582212209449725821c33b87347a40f451b2c6483bf5505349fe39bcd25604669e50f33364736f6c63430008040033", + "deployedBytecode": "0x6080604052600080fdfea26469706673582212209449725821c33b87347a40f451b2c6483bf5505349fe39bcd25604669e50f33364736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithOnlyName.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithOnlyName.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithOnlyName.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithOnlyName.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithOnlyName.json new file mode 100644 index 0000000000..65eb5c812c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithOnlyName.json @@ -0,0 +1,170 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TokenWithOnlyName", + "sourceName": "contracts/Token.sol", + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "remaining", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "name", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x608060405260016000556040518060400160405280600981526020017f4d6f636b546f6b656e0000000000000000000000000000000000000000000000815250600490805190602001906100549291906100b8565b5034801561006157600080fd5b50633b9aca00600181905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506101bc565b8280546100c49061015b565b90600052602060002090601f0160209004810192826100e6576000855561012d565b82601f106100ff57805160ff191683800117855561012d565b8280016001018555821561012d579182015b8281111561012c578251825591602001919060010190610111565b5b50905061013a919061013e565b5090565b5b8082111561015757600081600090555060010161013f565b5090565b6000600282049050600182168061017357607f821691505b602082108114156101875761018661018d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b610af6806101cb6000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063313ce5671161005b578063313ce5671461012957806370a0823114610147578063a9059cbb14610177578063dd62ed3e146101a757610088565b806306fdde031461008d578063095ea7b3146100ab57806318160ddd146100db57806323b872dd146100f9575b600080fd5b6100956101d7565b6040516100a29190610801565b60405180910390f35b6100c560048036038101906100c0919061070d565b610265565b6040516100d291906107e6565b60405180910390f35b6100e36102f2565b6040516100f09190610863565b60405180910390f35b610113600480360381019061010e91906106be565b6102f8565b60405161012091906107e6565b60405180910390f35b610131610490565b60405161013e9190610863565b60405180910390f35b610161600480360381019061015c9190610659565b610496565b60405161016e9190610863565b60405180910390f35b610191600480360381019061018c919061070d565b6104ae565b60405161019e91906107e6565b60405180910390f35b6101c160048036038101906101bc9190610682565b6105a8565b6040516101ce9190610863565b60405180910390f35b600480546101e49061099f565b80601f01602080910402602001604051908101604052809291908181526020018280546102109061099f565b801561025d5780601f106102325761010080835404028352916020019161025d565b820191906000526020600020905b81548152906001019060200180831161024057829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161030585336105a8565b1015610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033d90610823565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103d291906108f0565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461042891906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461047e919061089a565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b60008082116104f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e990610843565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461054191906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610597919061089a565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008135905061063e81610a92565b92915050565b60008135905061065381610aa9565b92915050565b60006020828403121561066b57600080fd5b60006106798482850161062f565b91505092915050565b6000806040838503121561069557600080fd5b60006106a38582860161062f565b92505060206106b48582860161062f565b9150509250929050565b6000806000606084860312156106d357600080fd5b60006106e18682870161062f565b93505060206106f28682870161062f565b925050604061070386828701610644565b9150509250925092565b6000806040838503121561072057600080fd5b600061072e8582860161062f565b925050602061073f85828601610644565b9150509250929050565b61075281610936565b82525050565b60006107638261087e565b61076d8185610889565b935061077d81856020860161096c565b61078681610a2f565b840191505092915050565b600061079e601683610889565b91506107a982610a40565b602082019050919050565b60006107c1601983610889565b91506107cc82610a69565b602082019050919050565b6107e081610962565b82525050565b60006020820190506107fb6000830184610749565b92915050565b6000602082019050818103600083015261081b8184610758565b905092915050565b6000602082019050818103600083015261083c81610791565b9050919050565b6000602082019050818103600083015261085c816107b4565b9050919050565b600060208201905061087860008301846107d7565b92915050565b600081519050919050565b600082825260208201905092915050565b60006108a582610962565b91506108b083610962565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156108e5576108e46109d1565b5b828201905092915050565b60006108fb82610962565b915061090683610962565b925082821015610919576109186109d1565b5b828203905092915050565b600061092f82610942565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561098a57808201518184015260208101905061096f565b83811115610999576000848401525b50505050565b600060028204905060018216806109b757607f821691505b602082108114156109cb576109ca610a00565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610a9b81610924565b8114610aa657600080fd5b50565b610ab281610962565b8114610abd57600080fd5b5056fea2646970667358221220a6fcd04aa893368d0e3e9a004a848844c520623183d6b2111fbc6f837204d0fa64736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063313ce5671161005b578063313ce5671461012957806370a0823114610147578063a9059cbb14610177578063dd62ed3e146101a757610088565b806306fdde031461008d578063095ea7b3146100ab57806318160ddd146100db57806323b872dd146100f9575b600080fd5b6100956101d7565b6040516100a29190610801565b60405180910390f35b6100c560048036038101906100c0919061070d565b610265565b6040516100d291906107e6565b60405180910390f35b6100e36102f2565b6040516100f09190610863565b60405180910390f35b610113600480360381019061010e91906106be565b6102f8565b60405161012091906107e6565b60405180910390f35b610131610490565b60405161013e9190610863565b60405180910390f35b610161600480360381019061015c9190610659565b610496565b60405161016e9190610863565b60405180910390f35b610191600480360381019061018c919061070d565b6104ae565b60405161019e91906107e6565b60405180910390f35b6101c160048036038101906101bc9190610682565b6105a8565b6040516101ce9190610863565b60405180910390f35b600480546101e49061099f565b80601f01602080910402602001604051908101604052809291908181526020018280546102109061099f565b801561025d5780601f106102325761010080835404028352916020019161025d565b820191906000526020600020905b81548152906001019060200180831161024057829003601f168201915b505050505081565b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161030585336105a8565b1015610346576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161033d90610823565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103d291906108f0565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461042891906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461047e919061089a565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b60008082116104f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e990610843565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461054191906108f0565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610597919061089a565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60008135905061063e81610a92565b92915050565b60008135905061065381610aa9565b92915050565b60006020828403121561066b57600080fd5b60006106798482850161062f565b91505092915050565b6000806040838503121561069557600080fd5b60006106a38582860161062f565b92505060206106b48582860161062f565b9150509250929050565b6000806000606084860312156106d357600080fd5b60006106e18682870161062f565b93505060206106f28682870161062f565b925050604061070386828701610644565b9150509250925092565b6000806040838503121561072057600080fd5b600061072e8582860161062f565b925050602061073f85828601610644565b9150509250929050565b61075281610936565b82525050565b60006107638261087e565b61076d8185610889565b935061077d81856020860161096c565b61078681610a2f565b840191505092915050565b600061079e601683610889565b91506107a982610a40565b602082019050919050565b60006107c1601983610889565b91506107cc82610a69565b602082019050919050565b6107e081610962565b82525050565b60006020820190506107fb6000830184610749565b92915050565b6000602082019050818103600083015261081b8184610758565b905092915050565b6000602082019050818103600083015261083c81610791565b9050919050565b6000602082019050818103600083015261085c816107b4565b9050919050565b600060208201905061087860008301846107d7565b92915050565b600081519050919050565b600082825260208201905092915050565b60006108a582610962565b91506108b083610962565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156108e5576108e46109d1565b5b828201905092915050565b60006108fb82610962565b915061090683610962565b925082821015610919576109186109d1565b5b828203905092915050565b600061092f82610942565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101561098a57808201518184015260208101905061096f565b83811115610999576000848401525b50505050565b600060028204905060018216806109b757607f821691505b602082108114156109cb576109ca610a00565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b610a9b81610924565b8114610aa657600080fd5b50565b610ab281610962565b8114610abd57600080fd5b5056fea2646970667358221220a6fcd04aa893368d0e3e9a004a848844c520623183d6b2111fbc6f837204d0fa64736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithoutNameNorSymbol.dbg.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithoutNameNorSymbol.dbg.json new file mode 100644 index 0000000000..224dfafc9c --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithoutNameNorSymbol.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../build-info/16efa488de3a0283218beddfadbd1423.json" +} diff --git a/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithoutNameNorSymbol.json b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithoutNameNorSymbol.json new file mode 100644 index 0000000000..14e0511214 --- /dev/null +++ b/v-next/hardhat-chai-matchers/test/fixture-projects/hardhat-project/artifacts/contracts/Token.sol/TokenWithoutNameNorSymbol.json @@ -0,0 +1,162 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "TokenWithoutNameNorSymbol", + "sourceName": "contracts/Token.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "remaining", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "success", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6080604052600160005534801561001557600080fd5b50633b9aca00600181905550600154600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610934806100766000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063313ce5671161005b578063313ce5671461010057806370a082311461011e578063a9059cbb1461014e578063dd62ed3e1461017e5761007d565b8063095ea7b31461008257806318160ddd146100b257806323b872dd146100d0575b600080fd5b61009c60048036038101906100979190610656565b6101ae565b6040516100a991906106f6565b60405180910390f35b6100ba61023b565b6040516100c79190610751565b60405180910390f35b6100ea60048036038101906100e59190610607565b610241565b6040516100f791906106f6565b60405180910390f35b6101086103d9565b6040516101159190610751565b60405180910390f35b610138600480360381019061013391906105a2565b6103df565b6040516101459190610751565b60405180910390f35b61016860048036038101906101639190610656565b6103f7565b60405161017591906106f6565b60405180910390f35b610198600480360381019061019391906105cb565b6104f1565b6040516101a59190610751565b60405180910390f35b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161024e85336104f1565b101561028f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028690610711565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461031b91906107d3565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461037191906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103c7919061077d565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600080821161043b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043290610731565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461048a91906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e0919061077d565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600081359050610587816108d0565b92915050565b60008135905061059c816108e7565b92915050565b6000602082840312156105b457600080fd5b60006105c284828501610578565b91505092915050565b600080604083850312156105de57600080fd5b60006105ec85828601610578565b92505060206105fd85828601610578565b9150509250929050565b60008060006060848603121561061c57600080fd5b600061062a86828701610578565b935050602061063b86828701610578565b925050604061064c8682870161058d565b9150509250925092565b6000806040838503121561066957600080fd5b600061067785828601610578565b92505060206106888582860161058d565b9150509250929050565b61069b81610819565b82525050565b60006106ae60168361076c565b91506106b98261087e565b602082019050919050565b60006106d160198361076c565b91506106dc826108a7565b602082019050919050565b6106f081610845565b82525050565b600060208201905061070b6000830184610692565b92915050565b6000602082019050818103600083015261072a816106a1565b9050919050565b6000602082019050818103600083015261074a816106c4565b9050919050565b600060208201905061076660008301846106e7565b92915050565b600082825260208201905092915050565b600061078882610845565b915061079383610845565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156107c8576107c761084f565b5b828201905092915050565b60006107de82610845565b91506107e983610845565b9250828210156107fc576107fb61084f565b5b828203905092915050565b600061081282610825565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b6108d981610807565b81146108e457600080fd5b50565b6108f081610845565b81146108fb57600080fd5b5056fea2646970667358221220a8a6918adf2af132e4e49a96a108a2d9c62cfb74de3e267b6c8af323b87f6ec964736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063313ce5671161005b578063313ce5671461010057806370a082311461011e578063a9059cbb1461014e578063dd62ed3e1461017e5761007d565b8063095ea7b31461008257806318160ddd146100b257806323b872dd146100d0575b600080fd5b61009c60048036038101906100979190610656565b6101ae565b6040516100a991906106f6565b60405180910390f35b6100ba61023b565b6040516100c79190610751565b60405180910390f35b6100ea60048036038101906100e59190610607565b610241565b6040516100f791906106f6565b60405180910390f35b6101086103d9565b6040516101159190610751565b60405180910390f35b610138600480360381019061013391906105a2565b6103df565b6040516101459190610751565b60405180910390f35b61016860048036038101906101639190610656565b6103f7565b60405161017591906106f6565b60405180910390f35b610198600480360381019061019391906105cb565b6104f1565b6040516101a59190610751565b60405180910390f35b600081600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60015481565b60008161024e85336104f1565b101561028f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161028690610711565b60405180910390fd5b81600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461031b91906107d3565b9250508190555081600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461037191906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546103c7919061077d565b92505081905550600190509392505050565b60005481565b60026020528060005260406000206000915090505481565b600080821161043b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043290610731565b60405180910390fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461048a91906107d3565b9250508190555081600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104e0919061077d565b925050819055506001905092915050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600081359050610587816108d0565b92915050565b60008135905061059c816108e7565b92915050565b6000602082840312156105b457600080fd5b60006105c284828501610578565b91505092915050565b600080604083850312156105de57600080fd5b60006105ec85828601610578565b92505060206105fd85828601610578565b9150509250929050565b60008060006060848603121561061c57600080fd5b600061062a86828701610578565b935050602061063b86828701610578565b925050604061064c8682870161058d565b9150509250925092565b6000806040838503121561066957600080fd5b600061067785828601610578565b92505060206106888582860161058d565b9150509250929050565b61069b81610819565b82525050565b60006106ae60168361076c565b91506106b98261087e565b602082019050919050565b60006106d160198361076c565b91506106dc826108a7565b602082019050919050565b6106f081610845565b82525050565b600060208201905061070b6000830184610692565b92915050565b6000602082019050818103600083015261072a816106a1565b9050919050565b6000602082019050818103600083015261074a816106c4565b9050919050565b600060208201905061076660008301846106e7565b92915050565b600082825260208201905092915050565b600061078882610845565b915061079383610845565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156107c8576107c761084f565b5b828201905092915050565b60006107de82610845565b91506107e983610845565b9250828210156107fc576107fb61084f565b5b828203905092915050565b600061081282610825565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f496e73756666696369656e7420616c6c6f77616e636500000000000000000000600082015250565b7f5472616e736665727265642076616c7565206973207a65726f00000000000000600082015250565b6108d981610807565b81146108e457600080fd5b50565b6108f081610845565b81146108fb57600080fd5b5056fea2646970667358221220a8a6918adf2af132e4e49a96a108a2d9c62cfb74de3e267b6c8af323b87f6ec964736f6c63430008040033", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/v-next/hardhat-chai-matchers/test/helpers/helpers.ts b/v-next/hardhat-chai-matchers/test/helpers/helpers.ts index 1245a0571d..f915e8b8fd 100644 --- a/v-next/hardhat-chai-matchers/test/helpers/helpers.ts +++ b/v-next/hardhat-chai-matchers/test/helpers/helpers.ts @@ -3,23 +3,19 @@ import type { EthereumProvider } from "@ignored/hardhat-vnext/types/providers"; import type { HardhatEthers } from "@ignored/hardhat-vnext-ethers/types"; import type { ContractTransactionResponse } from "ethers/contract"; -import path from "node:path"; - import { createHardhatRuntimeEnvironment } from "@ignored/hardhat-vnext/hre"; import { AssertionError, expect } from "chai"; -export async function initEnvironment(artifactsPath: string): Promise<{ +export async function initEnvironment(_artifactsPath: string): Promise<{ provider: EthereumProvider; ethers: HardhatEthers; }> { const config = (await import(`${process.cwd()}/hardhat.config.ts`)).default; // TODO: remove this when compilation in V3 is executed only when files are not compiled already (when cache is available) - config.paths.artifacts = path.join(".", "artifacts", artifactsPath); - + // config.paths.artifacts = path.join(".", "artifacts", artifactsPath); const hre = await createHardhatRuntimeEnvironment(config); - - await hre.tasks.getTask("compile").run({}); + // await hre.tasks.getTask("compile").run({}); const { ethers, provider } = await hre.network.connect(); diff --git a/v-next/hardhat-chai-matchers/test/matchers/reverted/reverted.ts b/v-next/hardhat-chai-matchers/test/matchers/reverted/reverted.ts index 3c0ca8a8e3..9652ad37e1 100644 --- a/v-next/hardhat-chai-matchers/test/matchers/reverted/reverted.ts +++ b/v-next/hardhat-chai-matchers/test/matchers/reverted/reverted.ts @@ -452,7 +452,7 @@ describe("INTEGRATION: Reverted", { timeout: 60000 }, () => { }), ).to.not.be.reverted(ethers), ).to.be.eventually.rejectedWith( - "Sender doesn't have enough funds to send tx. The max upfront cost is: 1007359608000000 and the sender's balance is: 0.", + /^Sender doesn't have enough funds to send tx\. The max upfront cost is: (\d+) and the sender's balance is: (\d+)\.$/, ); }); }); diff --git a/v-next/hardhat-chai-matchers/test/matchers/reverted/revertedWith.ts b/v-next/hardhat-chai-matchers/test/matchers/reverted/revertedWith.ts index 0c58cc749b..c65d7f46a4 100644 --- a/v-next/hardhat-chai-matchers/test/matchers/reverted/revertedWith.ts +++ b/v-next/hardhat-chai-matchers/test/matchers/reverted/revertedWith.ts @@ -247,7 +247,7 @@ describe("INTEGRATION: Reverted with", { timeout: 60000 }, () => { }), ).to.not.be.revertedWith("some reason"), ).to.be.eventually.rejectedWith( - "Sender doesn't have enough funds to send tx. The max upfront cost is: 1218222876000000 and the sender's balance is: 0.", + /^Sender doesn't have enough funds to send tx\. The max upfront cost is: (\d+) and the sender's balance is: (\d+)\.$/, ); }); });