[ { "inputs": [ { "internalType": "address", "name": "initialOwner", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ECDSAInvalidSignature", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "ECDSAInvalidSignatureLength", "type": "error" }, { "inputs": [ { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "ECDSAInvalidSignatureS", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "allowance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientAllowance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" } ], "name": "ERC20InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC20InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC20InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC20InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" } ], "name": "ERC20InvalidSpender", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "deadline", "type": "uint256" } ], "name": "ERC2612ExpiredSignature", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "signer", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC2612InvalidSigner", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "maxLoan", "type": "uint256" } ], "name": "ERC3156ExceededMaxLoan", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC3156InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "ERC3156UnsupportedToken", "type": "error" }, { "inputs": [], "name": "EnforcedPause", "type": "error" }, { "inputs": [], "name": "ExpectedPause", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } ], "name": "InvalidAccountNonce", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "flashFee", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "contract IERC3156FlashBorrower", "name": "receiver", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "flashLoan", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" } ], "name": "maxFlashLoan", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
61016060405234801562000011575f80fd5b50604051620038ac380380620038ac833981810160405281019062000037919062000871565b6040518060400160405280600481526020017f4645464500000000000000000000000000000000000000000000000000000000815250806040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250836040518060400160405280600481526020017f46454645000000000000000000000000000000000000000000000000000000008152506040518060400160405280600481526020017f4645464500000000000000000000000000000000000000000000000000000000815250816003908162000122919062000b05565b50806004908162000134919062000b05565b5050505f60055f6101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001c3575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620001ba919062000bfa565b60405180910390fd5b620001d481620002ce60201b60201c565b50620001eb6006836200039360201b90919060201c565b6101208181525050620002096007826200039360201b90919060201c565b6101408181525050818051906020012060e08181525050808051906020012061010081815250504660a0818152505062000248620003e860201b60201c565b608081815250503073ffffffffffffffffffffffffffffffffffffffff1660c08173ffffffffffffffffffffffffffffffffffffffff1681525050505050620002c7336200029b6200044460201b60201c565b600a620002a9919062000d9e565b64746a528800620002bb919062000dee565b6200044c60201b60201c565b5062001098565b5f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f602083511015620003b857620003b083620004d660201b60201c565b9050620003e2565b82620003ca836200054060201b60201c565b5f019081620003da919062000b05565b5060ff5f1b90505b92915050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60e0516101005146306040516020016200042995949392919062000e63565b60405160208183030381529060405280519060200120905090565b5f6012905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004bf575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620004b6919062000bfa565b60405180910390fd5b620004d25f83836200054960201b60201c565b5050565b5f80829050601f815111156200052557826040517f305a27a90000000000000000000000000000000000000000000000000000000081526004016200051c919062000f48565b60405180910390fd5b805181620005339062000f99565b5f1c175f1b915050919050565b5f819050919050565b6200055c8383836200056160201b60201c565b505050565b620005716200058960201b60201c565b62000584838383620005d360201b60201c565b505050565b62000599620007f760201b60201c565b15620005d1576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000627578060025f8282546200061a919062001008565b92505081905550620006f8565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620006b3578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620006aa9392919062001042565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000741578060025f82825403925050819055506200078b565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620007ea91906200107d565b60405180910390a3505050565b5f60055f9054906101000a900460ff16905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6200083b8262000810565b9050919050565b6200084d816200082f565b811462000858575f80fd5b50565b5f815190506200086b8162000842565b92915050565b5f602082840312156200088957620008886200080c565b5b5f62000898848285016200085b565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200091d57607f821691505b602082108103620009335762000932620008d8565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620009977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200095a565b620009a386836200095a565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f620009ed620009e7620009e184620009bb565b620009c4565b620009bb565b9050919050565b5f819050919050565b62000a0883620009cd565b62000a2062000a1782620009f4565b84845462000966565b825550505050565b5f90565b62000a3662000a28565b62000a43818484620009fd565b505050565b5b8181101562000a6a5762000a5e5f8262000a2c565b60018101905062000a49565b5050565b601f82111562000ab95762000a838162000939565b62000a8e846200094b565b8101602085101562000a9e578190505b62000ab662000aad856200094b565b83018262000a48565b50505b505050565b5f82821c905092915050565b5f62000adb5f198460080262000abe565b1980831691505092915050565b5f62000af5838362000aca565b9150826002028217905092915050565b62000b1082620008a1565b67ffffffffffffffff81111562000b2c5762000b2b620008ab565b5b62000b38825462000905565b62000b4582828562000a6e565b5f60209050601f83116001811462000b7b575f841562000b66578287015190505b62000b72858262000ae8565b86555062000be1565b601f19841662000b8b8662000939565b5f5b8281101562000bb45784890151825560018201915060208501945060208101905062000b8d565b8683101562000bd4578489015162000bd0601f89168262000aca565b8355505b6001600288020188555050505b505050505050565b62000bf4816200082f565b82525050565b5f60208201905062000c0f5f83018462000be9565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b600185111562000c9f5780860481111562000c775762000c7662000c15565b5b600185161562000c875780820291505b808102905062000c978562000c42565b945062000c57565b94509492505050565b5f8262000cb9576001905062000d8b565b8162000cc8575f905062000d8b565b816001811462000ce1576002811462000cec5762000d22565b600191505062000d8b565b60ff84111562000d015762000d0062000c15565b5b8360020a91508482111562000d1b5762000d1a62000c15565b5b5062000d8b565b5060208310610133831016604e8410600b841016171562000d5c5782820a90508381111562000d565762000d5562000c15565b5b62000d8b565b62000d6b848484600162000c4e565b9250905081840481111562000d855762000d8462000c15565b5b81810290505b9392505050565b5f60ff82169050919050565b5f62000daa82620009bb565b915062000db78362000d92565b925062000de67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000ca8565b905092915050565b5f62000dfa82620009bb565b915062000e0783620009bb565b925082820262000e1781620009bb565b9150828204841483151762000e315762000e3062000c15565b5b5092915050565b5f819050919050565b62000e4c8162000e38565b82525050565b62000e5d81620009bb565b82525050565b5f60a08201905062000e785f83018862000e41565b62000e87602083018762000e41565b62000e96604083018662000e41565b62000ea5606083018562000e52565b62000eb4608083018462000be9565b9695505050505050565b5f82825260208201905092915050565b5f5b8381101562000eed57808201518184015260208101905062000ed0565b5f8484015250505050565b5f601f19601f8301169050919050565b5f62000f1482620008a1565b62000f20818562000ebe565b935062000f3281856020860162000ece565b62000f3d8162000ef8565b840191505092915050565b5f6020820190508181035f83015262000f62818462000f08565b905092915050565b5f81519050919050565b5f819050602082019050919050565b5f62000f90825162000e38565b80915050919050565b5f62000fa58262000f6a565b8262000fb18462000f74565b905062000fbe8162000f83565b92506020821015620010015762000ffc7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff836020036008026200095a565b831692505b5050919050565b5f6200101482620009bb565b91506200102183620009bb565b92508282019050808211156200103c576200103b62000c15565b5b92915050565b5f606082019050620010575f83018662000be9565b62001066602083018562000e52565b62001075604083018462000e52565b949350505050565b5f602082019050620010925f83018462000e52565b92915050565b60805160a05160c05160e0516101005161012051610140516127c2620010ea5f395f61135401525f61131901525f61164b01525f61162a01525f610f0601525f610f5c01525f610f8501526127c25ff3fe608060405234801561000f575f80fd5b5060043610610171575f3560e01c806370a08231116100dc5780638da5cb5b11610095578063d505accf1161006f578063d505accf1461042d578063d9d98ce414610449578063dd62ed3e14610479578063f2fde38b146104a957610171565b80638da5cb5b146103c157806395d89b41146103df578063a9059cbb146103fd57610171565b806370a082311461030d578063715018a61461033d57806379cc6790146103475780637ecebe00146103635780638456cb591461039357806384b0196e1461039d57610171565b80633f4ba83a1161012e5780633f4ba83a1461024d57806340c10f191461025757806342966c68146102735780635c975abb1461028f5780635cffe9de146102ad578063613255ab146102dd57610171565b806306fdde0314610175578063095ea7b31461019357806318160ddd146101c357806323b872dd146101e1578063313ce567146102115780633644e5151461022f575b5f80fd5b61017d6104c5565b60405161018a9190611dcd565b60405180910390f35b6101ad60048036038101906101a89190611e82565b610555565b6040516101ba9190611eda565b60405180910390f35b6101cb610577565b6040516101d89190611f02565b60405180910390f35b6101fb60048036038101906101f69190611f1b565b610580565b6040516102089190611eda565b60405180910390f35b6102196105ae565b6040516102269190611f86565b60405180910390f35b6102376105b6565b6040516102449190611fb7565b60405180910390f35b6102556105c4565b005b610271600480360381019061026c9190611e82565b6105d6565b005b61028d60048036038101906102889190611fd0565b6105ec565b005b610297610600565b6040516102a49190611eda565b60405180910390f35b6102c760048036038101906102c29190612097565b610615565b6040516102d49190611eda565b60405180910390f35b6102f760048036038101906102f2919061211b565b61080a565b6040516103049190611f02565b60405180910390f35b6103276004803603810190610322919061211b565b61087f565b6040516103349190611f02565b60405180910390f35b6103456108c4565b005b610361600480360381019061035c9190611e82565b6108d7565b005b61037d6004803603810190610378919061211b565b6108f7565b60405161038a9190611f02565b60405180910390f35b61039b610908565b005b6103a561091a565b6040516103b89796959493929190612246565b60405180910390f35b6103c96109bf565b6040516103d691906122c8565b60405180910390f35b6103e76109e8565b6040516103f49190611dcd565b60405180910390f35b61041760048036038101906104129190611e82565b610a78565b6040516104249190611eda565b60405180910390f35b61044760048036038101906104429190612335565b610a9a565b005b610463600480360381019061045e9190611e82565b610bdf565b6040516104709190611f02565b60405180910390f35b610493600480360381019061048e91906123d2565b610c62565b6040516104a09190611f02565b60405180910390f35b6104c360048036038101906104be919061211b565b610ce4565b005b6060600380546104d49061243d565b80601f01602080910402602001604051908101604052809291908181526020018280546105009061243d565b801561054b5780601f106105225761010080835404028352916020019161054b565b820191905f5260205f20905b81548152906001019060200180831161052e57829003601f168201915b5050505050905090565b5f8061055f610d68565b905061056c818585610d6f565b600191505092915050565b5f600254905090565b5f8061058a610d68565b9050610597858285610d81565b6105a2858585610e13565b60019150509392505050565b5f6012905090565b5f6105bf610f03565b905090565b6105cc610fb9565b6105d4611040565b565b6105de610fb9565b6105e882826110a1565b5050565b6105fd6105f7610d68565b82611120565b50565b5f60055f9054906101000a900460ff16905090565b5f806106208661080a565b90508085111561066757806040517ffd9a760900000000000000000000000000000000000000000000000000000000815260040161065e9190611f02565b60405180910390fd5b5f6106728787610bdf565b905061067e88876110a1565b7f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98873ffffffffffffffffffffffffffffffffffffffff166323e30c8b6106c3610d68565b8a8a868b8b6040518763ffffffff1660e01b81526004016106e9969594939291906124b7565b6020604051808303815f875af1158015610705573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107299190612525565b1461076b57876040517f678c5b0000000000000000000000000000000000000000000000000000000000815260040161076291906122c8565b60405180910390fd5b5f61077461119f565b905061078c8930848a610787919061257d565b610d81565b5f8214806107c557505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16145b156107e4576107df8983896107da919061257d565b611120565b6107fa565b6107ee8988611120565b6107f9898284610e13565b5b6001935050505095945050505050565b5f3073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614610844575f610878565b61084c610577565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61087791906125b0565b5b9050919050565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6108cc610fb9565b6108d55f6111a3565b565b6108e9826108e3610d68565b83610d81565b6108f38282611120565b5050565b5f61090182611268565b9050919050565b610910610fb9565b6109186112ae565b565b5f6060805f805f606061092b611310565b61093361134b565b46305f801b5f67ffffffffffffffff811115610952576109516125e3565b5b6040519080825280602002602001820160405280156109805781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b5f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546109f79061243d565b80601f0160208091040260200160405190810160405280929190818152602001828054610a239061243d565b8015610a6e5780601f10610a4557610100808354040283529160200191610a6e565b820191905f5260205f20905b815481529060010190602001808311610a5157829003601f168201915b5050505050905090565b5f80610a82610d68565b9050610a8f818585610e13565b600191505092915050565b83421115610adf57836040517f62791302000000000000000000000000000000000000000000000000000000008152600401610ad69190611f02565b60405180910390fd5b5f7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9888888610b0d8c611386565b89604051602001610b2396959493929190612610565b6040516020818303038152906040528051906020012090505f610b45826113d9565b90505f610b54828787876113f2565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610bc857808a6040517f4b800e46000000000000000000000000000000000000000000000000000000008152600401610bbf92919061266f565b60405180910390fd5b610bd38a8a8a610d6f565b50505050505050505050565b5f3073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614610c5057826040517fb5a7db92000000000000000000000000000000000000000000000000000000008152600401610c4791906122c8565b60405180910390fd5b610c5a8383611420565b905092915050565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b610cec610fb9565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d5c575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610d5391906122c8565b60405180910390fd5b610d65816111a3565b50565b5f33905090565b610d7c8383836001611427565b505050565b5f610d8c8484610c62565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610e0d5781811015610dfe578281836040517ffb8f41b2000000000000000000000000000000000000000000000000000000008152600401610df593929190612696565b60405180910390fd5b610e0c84848484035f611427565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610e83575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401610e7a91906122c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ef3575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401610eea91906122c8565b60405180910390fd5b610efe8383836115f6565b505050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff16148015610f7e57507f000000000000000000000000000000000000000000000000000000000000000046145b15610fab577f00000000000000000000000000000000000000000000000000000000000000009050610fb6565b610fb3611606565b90505b90565b610fc1610d68565b73ffffffffffffffffffffffffffffffffffffffff16610fdf6109bf565b73ffffffffffffffffffffffffffffffffffffffff161461103e57611002610d68565b6040517f118cdaa700000000000000000000000000000000000000000000000000000000815260040161103591906122c8565b60405180910390fd5b565b61104861169b565b5f60055f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa61108a610d68565b60405161109791906122c8565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611111575f6040517fec442f0500000000000000000000000000000000000000000000000000000000815260040161110891906122c8565b60405180910390fd5b61111c5f83836115f6565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611190575f6040517f96c6fd1e00000000000000000000000000000000000000000000000000000000815260040161118791906122c8565b60405180910390fd5b61119b825f836115f6565b5050565b5f90565b5f600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6112b66116db565b600160055f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586112f9610d68565b60405161130691906122c8565b60405180910390a1565b606061134660067f000000000000000000000000000000000000000000000000000000000000000061171c90919063ffffffff16565b905090565b606061138160077f000000000000000000000000000000000000000000000000000000000000000061171c90919063ffffffff16565b905090565b5f60085f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f815480929190600101919050559050919050565b5f6113eb6113e5610f03565b836117c9565b9050919050565b5f805f8061140288888888611809565b92509250925061141282826118f0565b829350505050949350505050565b5f92915050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611497575f6040517fe602df0500000000000000000000000000000000000000000000000000000000815260040161148e91906122c8565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611507575f6040517f94280d620000000000000000000000000000000000000000000000000000000081526004016114fe91906122c8565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555080156115f0578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516115e79190611f02565b60405180910390a35b50505050565b611601838383611a52565b505050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000046306040516020016116809594939291906126cb565b60405160208183030381529060405280519060200120905090565b6116a3610600565b6116d9576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6116e3610600565b1561171a576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b606060ff5f1b83146117385761173183611a6a565b90506117c3565b8180546117449061243d565b80601f01602080910402602001604051908101604052809291908181526020018280546117709061243d565b80156117bb5780601f10611792576101008083540402835291602001916117bb565b820191905f5260205f20905b81548152906001019060200180831161179e57829003601f168201915b505050505090505b92915050565b5f6040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b5f805f7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0845f1c1115611845575f6003859250925092506118e6565b5f6001888888886040515f8152602001604052604051611868949392919061271c565b6020604051602081039080840390855afa158015611888573d5f803e3d5ffd5b5050506020604051035190505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118d9575f60015f801b935093509350506118e6565b805f805f1b935093509350505b9450945094915050565b5f60038111156119035761190261275f565b5b8260038111156119165761191561275f565b5b0315611a4e57600160038111156119305761192f61275f565b5b8260038111156119435761194261275f565b5b0361197a576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600381111561198e5761198d61275f565b5b8260038111156119a1576119a061275f565b5b036119e557805f1c6040517ffce698f70000000000000000000000000000000000000000000000000000000081526004016119dc9190611f02565b60405180910390fd5b6003808111156119f8576119f761275f565b5b826003811115611a0b57611a0a61275f565b5b03611a4d57806040517fd78bce0c000000000000000000000000000000000000000000000000000000008152600401611a449190611fb7565b60405180910390fd5b5b5050565b611a5a6116db565b611a65838383611adc565b505050565b60605f611a7683611cf5565b90505f602067ffffffffffffffff811115611a9457611a936125e3565b5b6040519080825280601f01601f191660200182016040528015611ac65781602001600182028036833780820191505090505b5090508181528360208201528092505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b2c578060025f828254611b20919061257d565b92505081905550611bfa565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611bb5578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611bac93929190612696565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c41578060025f8282540392505081905550611c8b565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ce89190611f02565b60405180910390a3505050565b5f8060ff835f1c169050601f811115611d3a576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80915050919050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611d7a578082015181840152602081019050611d5f565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611d9f82611d43565b611da98185611d4d565b9350611db9818560208601611d5d565b611dc281611d85565b840191505092915050565b5f6020820190508181035f830152611de58184611d95565b905092915050565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e1e82611df5565b9050919050565b611e2e81611e14565b8114611e38575f80fd5b50565b5f81359050611e4981611e25565b92915050565b5f819050919050565b611e6181611e4f565b8114611e6b575f80fd5b50565b5f81359050611e7c81611e58565b92915050565b5f8060408385031215611e9857611e97611ded565b5b5f611ea585828601611e3b565b9250506020611eb685828601611e6e565b9150509250929050565b5f8115159050919050565b611ed481611ec0565b82525050565b5f602082019050611eed5f830184611ecb565b92915050565b611efc81611e4f565b82525050565b5f602082019050611f155f830184611ef3565b92915050565b5f805f60608486031215611f3257611f31611ded565b5b5f611f3f86828701611e3b565b9350506020611f5086828701611e3b565b9250506040611f6186828701611e6e565b9150509250925092565b5f60ff82169050919050565b611f8081611f6b565b82525050565b5f602082019050611f995f830184611f77565b92915050565b5f819050919050565b611fb181611f9f565b82525050565b5f602082019050611fca5f830184611fa8565b92915050565b5f60208284031215611fe557611fe4611ded565b5b5f611ff284828501611e6e565b91505092915050565b5f61200582611e14565b9050919050565b61201581611ffb565b811461201f575f80fd5b50565b5f813590506120308161200c565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f84011261205757612056612036565b5b8235905067ffffffffffffffff8111156120745761207361203a565b5b6020830191508360018202830111156120905761208f61203e565b5b9250929050565b5f805f805f608086880312156120b0576120af611ded565b5b5f6120bd88828901612022565b95505060206120ce88828901611e3b565b94505060406120df88828901611e6e565b935050606086013567ffffffffffffffff811115612100576120ff611df1565b5b61210c88828901612042565b92509250509295509295909350565b5f602082840312156121305761212f611ded565b5b5f61213d84828501611e3b565b91505092915050565b5f7fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b61217a81612146565b82525050565b61218981611e14565b82525050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6121c181611e4f565b82525050565b5f6121d283836121b8565b60208301905092915050565b5f602082019050919050565b5f6121f48261218f565b6121fe8185612199565b9350612209836121a9565b805f5b8381101561223957815161222088826121c7565b975061222b836121de565b92505060018101905061220c565b5085935050505092915050565b5f60e0820190506122595f83018a612171565b818103602083015261226b8189611d95565b9050818103604083015261227f8188611d95565b905061228e6060830187611ef3565b61229b6080830186612180565b6122a860a0830185611fa8565b81810360c08301526122ba81846121ea565b905098975050505050505050565b5f6020820190506122db5f830184612180565b92915050565b6122ea81611f6b565b81146122f4575f80fd5b50565b5f81359050612305816122e1565b92915050565b61231481611f9f565b811461231e575f80fd5b50565b5f8135905061232f8161230b565b92915050565b5f805f805f805f60e0888a0312156123505761234f611ded565b5b5f61235d8a828b01611e3b565b975050602061236e8a828b01611e3b565b965050604061237f8a828b01611e6e565b95505060606123908a828b01611e6e565b94505060806123a18a828b016122f7565b93505060a06123b28a828b01612321565b92505060c06123c38a828b01612321565b91505092959891949750929550565b5f80604083850312156123e8576123e7611ded565b5b5f6123f585828601611e3b565b925050602061240685828601611e3b565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061245457607f821691505b60208210810361246757612466612410565b5b50919050565b5f82825260208201905092915050565b828183375f83830152505050565b5f612496838561246d565b93506124a383858461247d565b6124ac83611d85565b840190509392505050565b5f60a0820190506124ca5f830189612180565b6124d76020830188612180565b6124e46040830187611ef3565b6124f16060830186611ef3565b818103608083015261250481848661248b565b9050979650505050505050565b5f8151905061251f8161230b565b92915050565b5f6020828403121561253a57612539611ded565b5b5f61254784828501612511565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61258782611e4f565b915061259283611e4f565b92508282019050808211156125aa576125a9612550565b5b92915050565b5f6125ba82611e4f565b91506125c583611e4f565b92508282039050818111156125dd576125dc612550565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b5f60c0820190506126235f830189611fa8565b6126306020830188612180565b61263d6040830187612180565b61264a6060830186611ef3565b6126576080830185611ef3565b61266460a0830184611ef3565b979650505050505050565b5f6040820190506126825f830185612180565b61268f6020830184612180565b9392505050565b5f6060820190506126a95f830186612180565b6126b66020830185611ef3565b6126c36040830184611ef3565b949350505050565b5f60a0820190506126de5f830188611fa8565b6126eb6020830187611fa8565b6126f86040830186611fa8565b6127056060830185611ef3565b6127126080830184612180565b9695505050505050565b5f60808201905061272f5f830187611fa8565b61273c6020830186611f77565b6127496040830185611fa8565b6127566060830184611fa8565b95945050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffdfea2646970667358221220f597c34aec443a6c6f6884a0c5aa19cb133eeb38c7a201bb550f2b66cbf7a7e164736f6c63430008140033000000000000000000000000a9c9d896ac295dd31b85f3261199cd75d7e3a4db
0x000000000000000000000000a9c9d896ac295dd31b85f3261199cd75d7e3a4db
----Decoded View------------Arg [0] : initialOwner (address): 0xa9c9d896ac295dD31B85f3261199Cd75D7e3a4Db
----Encoded View------------Arg [0] : 0x000000000000000000000000a9c9d896ac295dd31b85f3261199cd75d7e3a4db