[ { "inputs": [ { "internalType": "address", "name": "_customGatewayAddress", "type": "address" }, { "internalType": "address", "name": "_routerAddress", "type": "address" }, { "internalType": "address", "name": "_governance", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "TransfersDisabled", "type": "error" }, { "inputs": [], "name": "ZeroAmount", "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": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "seedAmount", "type": "uint256" } ], "name": "MinterSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [], "name": "TransferableSet", "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": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "cap", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint32", "name": "pos", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "components": [ { "internalType": "uint32", "name": "fromBlock", "type": "uint32" }, { "internalType": "uint224", "name": "votes", "type": "uint224" } ], "internalType": "struct ERC20Votes.Checkpoint", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPastVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isArbitrumEnabled", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "minters", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "internalType": "address", "name": "l2CustomTokenAddress", "type": "address" }, { "internalType": "uint256", "name": "maxSubmissionCostForCustomGateway", "type": "uint256" }, { "internalType": "uint256", "name": "maxSubmissionCostForRouter", "type": "uint256" }, { "internalType": "uint256", "name": "maxGasForCustomGateway", "type": "uint256" }, { "internalType": "uint256", "name": "maxGasForRouter", "type": "uint256" }, { "internalType": "uint256", "name": "gasPriceBid", "type": "uint256" }, { "internalType": "uint256", "name": "valueForGateway", "type": "uint256" }, { "internalType": "uint256", "name": "valueForRouter", "type": "uint256" }, { "internalType": "address", "name": "creditBackAddress", "type": "address" } ], "name": "registerTokenOnL2", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_minter", "type": "address" }, { "internalType": "uint256", "name": "_seedAmount", "type": "uint256" } ], "name": "setMinter", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "setTransferable", "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": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "transferable", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ]
610160346200055e57601f62002f3e38819003918201601f19168301916001600160401b0383118484101762000306578084926060946040528339810103126200055e576200004e816200057f565b906200006b604062000063602084016200057f565b92016200057f565b604051620000798162000563565b600c81526b686174732e66696e616e636560a01b9081602082015260405191620000a38362000563565b600c83526020830152604051620000ba8162000563565b600381526212105560ea1b602082015260405192620000d98462000563565b60018452603160f81b60208501528051906001600160401b038211620003065760035490600182811c9216801562000553575b6020831014620004255781601f849311620004e1575b50602090601f8311600114620004525760009262000446575b50508160011b916000199060031b1c1916176003555b8051906001600160401b038211620003065760045490600182811c921680156200043b575b6020831014620004255781601f849311620003b3575b50602090601f831160011462000328576000926200031c575b50508160011b916000199060031b1c1916176004555b602081519101209060208151910120928160e052610100948486524660a0526040519460208601907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f94858352604088015260608701524660808701523060a087015260a0865260c086019580871060018060401b038811176200030657866040525190206080523060c05261012092835262000274610140946a52b7d2dcc80cd2e400000086526200026e3362000594565b62000594565b600c8054610100600160a81b03191660089290921b610100600160a81b0316919091179055600d80546001600160a01b0319166001600160a01b039290921691909117905561295b9384620005e38539608051846121e5015260a051846122a0015260c051846121af015260e051846122340152518361225a015251826122110152518181816105b001526108470152f35b634e487b7160e01b600052604160045260246000fd5b015190503880620001a5565b600460009081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b9350601f198516905b8181106200039a575090846001959493921062000380575b505050811b01600455620001bb565b015160001960f88460031b161c1916905538808062000371565b9293602060018192878601518155019501930162000359565b60046000529091507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f840160051c8101602085106200041d575b90849392915b601f830160051c820181106200040d5750506200018c565b60008155859450600101620003f5565b5080620003ef565b634e487b7160e01b600052602260045260246000fd5b91607f169162000176565b0151905038806200013b565b6003600090815293507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b91905b601f1984168510620004c5576001945083601f19811610620004ab575b505050811b0160035562000151565b015160001960f88460031b161c191690553880806200049c565b818101518355602094850194600190930192909101906200047f565b60036000529091507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f840160051c8101602085106200054b575b90849392915b601f830160051c820181106200053b57505062000122565b6000815585945060010162000523565b50806200051d565b91607f16916200010c565b600080fd5b604081019081106001600160401b038211176200030657604052565b51906001600160a01b03821682036200055e57565b600a80546001600160a01b039283166001600160a01b031982168117909255604051919216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a356fe60806040526004361015610013575b600080fd5b60003560e01c806306fdde03146102bb578063095ea7b3146102b257806318160ddd146102a957806323b872dd146102a0578063313ce56714610297578063355274ea1461028e5780633644e5151461028557806337d8b9951461027c57806339509351146102735780633a46b1a81461026a57806340c10f191461026157806342966c6814610258578063587cde1e1461024f5780635c19a95c146102465780636fcfff451461023d57806370a0823114610234578063715018a61461022b5780637ecebe00146102225780638da5cb5b146102195780638e539e8c146102105780638e5f5ad11461020757806392ff0d31146101fe57806395d89b41146101f55780639ab24eb0146101ec5780639ce38998146101e3578063a457c2d7146101da578063a9059cbb146101d1578063c3cda520146101c8578063d505accf146101bf578063dd62ed3e146101b6578063f1127ed8146101ad578063f2fde38b146101a4578063f46eccc41461019b5763fc792d8e1461019357600080fd5b61000e611511565b5061000e6114d6565b5061000e611405565b5061000e61137d565b5061000e611324565b5061000e6111dd565b5061000e6110b1565b5061000e61106a565b5061000e610fbb565b5061000e610f4f565b5061000e610ed4565b5061000e610e10565b5061000e610dec565b5061000e610d88565b5061000e610c6c565b5061000e610c42565b5061000e610c07565b5061000e610ba5565b5061000e610b6b565b5061000e610b22565b5061000e610aff565b5061000e610ac3565b5061000e6109bb565b5061000e6107f5565b5061000e6106ab565b5061000e610649565b5061000e6105f7565b5061000e6105d3565b5061000e610597565b5061000e61057a565b5061000e6104ae565b5061000e61048f565b5061000e61045d565b5061000e61030d565b6020808252825181830181905290939260005b8281106102f957505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016102d7565b503461000e576000806003193601126104175760405190806003549060019180831c9280821692831561040d575b60209283861085146103f95785885260208801949081156103d8575060011461037f575b61037b8761036f818903826117b4565b604051918291826102c4565b0390f35b600360005294509192917fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8386106103c7575050509101905061036f8261037b388061035f565b8054858701529482019481016103ab565b60ff191685525050505090151560051b01905061036f8261037b388061035f565b634e487b7160e01b82526022600452602482fd5b93607f169361033b565b80fd5b600435906001600160a01b038216820361000e57565b602435906001600160a01b038216820361000e57565b61010435906001600160a01b038216820361000e57565b503461000e57604036600319011261000e5761048461047a61041a565b6024359033611812565b602060405160018152f35b503461000e57600036600319011261000e576020600254604051908152f35b503461000e57606036600319011261000e576104c861041a565b6104d0610430565b6001600160a01b038216600090815260016020908152604080832033845290915290206044359190549260018401610519575b61050d9350612579565b60405160018152602090f35b828410610535576105308361050d95033383611812565b610503565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b503461000e57600036600319011261000e57602060405160128152f35b503461000e57600036600319011261000e5760206040517f00000000000000000000000000000000000000000000000000000000000000008152f35b503461000e57600036600319011261000e5760206105ef6121ac565b604051908152f35b503461000e57600036600319011261000e57610611611700565b600160ff19600c541617600c5560006040517fe0350eaf35cd59b2c0d211459b9603c2d2959655973e6bc767ca825b338326308282a1f35b503461000e57604036600319011261000e5761048461066661041a565b3360009081526001602090815260408083206001600160a01b038516845290915290205490602435820180921161069e575b33611812565b6106a66117d6565b610698565b503461000e57604036600319011261000e576106c561041a565b602435906106d44383106119bb565b6001600160a01b03166000908152600860205260408120805492909183600581116107a4575b50905b83821061074f57505081610724575050602060005b6040516001600160e01b039091168152f35b61074361074a9161073660209461199f565b9060005260206000200190565b5460201c90565b610712565b909261075b818561233c565b90818363ffffffff610781610777848960005260206000200190565b5463ffffffff1690565b161115610792575050925b906106fd565b90945061079f91506117ed565b61078c565b806107b46107ba92969396612359565b906119ae565b908263ffffffff6107d5610777858860005260206000200190565b1611156107e55750925b386106fa565b93506107f0906117ed565b6107df565b503461000e5760408060031936011261000e5761081061041a565b906024359182156109aa5733600052600b6020528160002080549084820391821161099d575b55600254838101808211610990575b7f00000000000000000000000000000000000000000000000000000000000000001061094c576001600160a01b038216908115610908578461090393819361089a6108956000996108e896611805565b600255565b6001600160a01b038216600090815260208181526040909120805485019055875184815289917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a3612755565b6002546108fe906001600160e01b031015612877565b611d87565b505051f35b835162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b825162461bcd60e51b815260206004820152601960248201527f45524332304361707065643a20636170206578636565646564000000000000006044820152606490fd5b6109986117d6565b610845565b6109a56117d6565b610836565b8151631f2a200560e01b8152600490fd5b503461000e57602036600319011261000e576004358015610ab1573315610a6257336000908152602081905260409020610a6091908190546109ff82821015612820565b3360009081526020819052604090209190039055610a208160025403600255565b60405181815260009033907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3610a5b81336127a0565b611e63565b005b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b604051631f2a200560e01b8152600490fd5b503461000e57602036600319011261000e5760206001600160a01b0380610ae861041a565b166000526007825260406000205416604051908152f35b503461000e57602036600319011261000e57610a60610b1c61041a565b33611a53565b503461000e57602036600319011261000e576001600160a01b03610b4461041a565b1660005260086020526020610b5d604060002054612514565b63ffffffff60405191168152f35b503461000e57602036600319011261000e5760206105ef610b8a61041a565b6001600160a01b031660009081526020819052604090205490565b503461000e5760008060031936011261041757610bc0611700565b600a80546001600160a01b031981169091556040519082906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08284a3f35b503461000e57602036600319011261000e576001600160a01b03610c2961041a565b1660005260056020526020604060002054604051908152f35b503461000e57600036600319011261000e57600a546040516001600160a01b039091168152602090f35b503461000e57602036600319011261000e57600435610c8c4382106119bb565b6009549060008260058111610d33575b50905b828210610ce2578280610cb9575060405160008152602090f35b61074a610743610cca60209361199f565b60096000526000805160206129068339815191520190565b9091610cee818461233c565b6009600052908263ffffffff610d136000805160206129068339815191528501610777565b161115610d235750915b90610c9f565b9250610d2e906117ed565b610d1d565b806107b4610d4392959395612359565b6009600052908263ffffffff610d686000805160206129068339815191528501610777565b161115610d785750915b38610c9c565b9250610d83906117ed565b610d72565b503461000e57600036600319011261000e5760ff600d5460a01c1615610db357602060405160b18152f35b60405162461bcd60e51b81526020600482015260116024820152701393d517d156141150d5115117d0d05313607a1b6044820152606490fd5b503461000e57600036600319011261000e57602060ff600c54166040519015158152f35b503461000e576000806003193601126104175760405190806004549060019180831c92808216928315610eca575b60209283861085146103f95785885260208801949081156103d85750600114610e715761037b8761036f818903826117b4565b600460005294509192917f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b838610610eb9575050509101905061036f8261037b388061035f565b805485870152948201948101610e9d565b93607f1693610e3e565b503461000e57602036600319011261000e576001600160a01b03610ef661041a565b16600052600860205260406000205460008115600014610f1e57505060405160008152602090f35b6020916040610f3992206000198201918211610f425761194f565b5054811c610712565b610f4a6117d6565b61194f565b503461000e57604036600319011261000e57610f6961041a565b7f7359df4a2ac9e38fb7388b0452d6e67f07baf2bb35b06645a940da3204a726fc602060243592610f98611700565b6001600160a01b03166000818152600b83526040908190208590555193845292a2005b503461000e57604036600319011261000e57610fd561041a565b602435903360005260016020526110028160406000209060018060a01b0316600052602052604060002090565b54918083106110175761050d92039033611812565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b503461000e57604036600319011261000e5761048461108761041a565b6024359033612579565b6064359060ff8216820361000e57565b6084359060ff8216820361000e57565b503461000e5760c036600319011261000e576110cb61041a565b604435906024356110da611091565b928042116111985761116a61119391610a609560405190611152826111446020820195898b8860609194939260808201957fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835260018060a01b0316602083015260408201520152565b03601f1981018452836117b4565b61116560a43593608435935190206122c6565b611fb5565b6001600160a01b0381166000908152600560205260409020805460018101909155909214611a07565b611a53565b60405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606490fd5b503461000e5760e036600319011261000e576111f761041a565b6111ff610430565b604435906064359261120f6110a1565b938042116112df576112c76112da91611144610a60976112b461124d8760018060a01b03166000526005602052604060002090815491600183019055565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9602082019081526001600160a01b03808c1693830193909352918b166060820152608081018c905260a081019290925260c082019590955292839060e0820190565b61116560c4359360a435935190206122c6565b6001600160a01b03838116911614611f69565b611812565b60405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606490fd5b503461000e57604036600319011261000e57602061137461134361041a565b61134b610430565b6001600160a01b0391821660009081526001855260408082209290931681526020919091522090565b54604051908152f35b503461000e57604036600319011261000e5761139761041a565b63ffffffff602435818116810361000e576113e16113e7916040946000602087516113c18161176f565b82815201526001600160a01b03166000908152600860205285902061194f565b5061197d565b8251815190921682526020908101516001600160e01b031690820152f35b503461000e57602036600319011261000e5761141f61041a565b611427611700565b6001600160a01b0390811690811561148257600091600a5491816bffffffffffffffffffffffff60a01b841617600a5560405192167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08484a3f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b503461000e57602036600319011261000e576001600160a01b036114f861041a565b16600052600b6020526020604060002054604051908152f35b5061012036600319011261000e57610a6061152a61041a565b6115dc61166660a43561153b610446565b8091611545611700565b600d5460a01c60ff16600d805460ff60a01b1916600160a01b17905595600c546115889061157c9060081c6001600160a01b031681565b6001600160a01b031690565b60405163651a36a560e11b81526001600160a01b03928316600482015260648035602480840191909152604483018690523590820152919094166084820152602095869485918391908290819060a4820190565b039160c435905af180156116f3575b6116d6575b50600d546116089061157c906001600160a01b031681565b600c5490919060081c6001600160a01b0316604051632d67b72d60e01b81526001600160a01b0391821660048201526084803560248301526044808301949094529235606482015293169083015290928391908290819060a4820190565b039160e435905af180156116c9575b61169b575b5050600d805460ff60a01b191691151560a01b60ff60a01b16919091179055565b816116ba92903d106116c2575b6116b281836117b4565b8101906128dc565b50388061167a565b503d6116a8565b6116d161210f565b611675565b6116ec90843d86116116c2576116b281836117b4565b50386115f0565b6116fb61210f565b6115eb565b600a546001600160a01b0316330361171457565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b50634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761178b57604052565b611793611758565b604052565b60c0810190811067ffffffffffffffff82111761178b57604052565b90601f8019910116810190811067ffffffffffffffff82111761178b57604052565b50634e487b7160e01b600052601160045260246000fd5b90600182018092116117fb57565b6118036117d6565b565b919082018092116117fb57565b6001600160a01b0380821692919083156118f15782169384156118a1578061188b7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259461187461189c9560018060a01b03166000526001602052604060002090565b9060018060a01b0316600052602052604060002090565b556040519081529081906020820190565b0390a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b604051906118038261176f565b80548210156119675760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9060405161198a8161176f565b602081935463ffffffff81168352811c910152565b6000198101919082116117fb57565b919082039182116117fb57565b156119c257565b60405162461bcd60e51b815260206004820152601f60248201527f4552433230566f7465733a20626c6f636b206e6f7420796574206d696e6564006044820152606490fd5b15611a0e57565b60405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606490fd5b6001600160a01b039081166000818152600760208181526040808420805485845282862054949093528787166001600160a01b03198416811790915590516118039793969395929093169390928492917f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f91a45b6001600160a01b03808316939291168084141580611cb3575b611aeb575b50505050565b80611b59575b5082611afe575b80611ae5565b6001600160a01b031660009081526008602052604090207fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72491611b4091611ebb565b60408051928352602083019190915290a2388080611af8565b8060005260086020527fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7246040600020805480159182600014611c8c57611b9d611942565b6000815260006020820152915b6020830151611bc9906001600160e01b03165b6001600160e01b031690565b92611bd489856128eb565b94159081611c75575b5015611c2957611bfc611c1392610736611bf6876124ab565b9361199f565b9063ffffffff82549181199060201b169116179055565b604080519182526020820192909252a238611af1565b50611c7090611c3743612514565b90611c6b611c44866124ab565b611c5b611c4f611942565b63ffffffff9095168552565b6001600160e01b03166020840152565b611d1f565b611c13565b5163ffffffff16905063ffffffff16431438611bdd565b611cad611ca8611c9b8461199f565b8360005260206000200190565b61197d565b91611baa565b50821515611ae0565b60095490600160401b821015611d12575b6001820180600955821015611967576009600052805160209182015190911b63ffffffff191663ffffffff919091161760008051602061290683398151915290910155565b611d1a611758565b611ccd565b8054611d3d91600160401b821015611d7a575b60018201815561194f565b611d6457815160209283015190921b63ffffffff191663ffffffff92909216919091179055565b634e487b7160e01b600052600060045260246000fd5b611d82611758565b611d32565b60095490918115918215611e4f57611d9d611942565b60008152600060208201525b6020810151611dcb90611dc4906001600160e01b0316611bbd565b95866128f8565b93159081611e38575b5015611df35761180390611bfc610cca611ded866124ab565b9261199f565b50611803611e0043612514565b611e33611e0c856124ab565b611e23611e17611942565b63ffffffff9094168452565b6001600160e01b03166020830152565b611cbc565b5163ffffffff16905063ffffffff16431438611dd4565b611e5e611ca8610cca8361199f565b611da9565b60095490918115918215611ea757611e79611942565b60008152600060208201525b6020810151611dcb90611ea0906001600160e01b0316611bbd565b95866128eb565b611eb6611ca8610cca8361199f565b611e85565b909181549182159283600014611f4857611ed3611942565b60008152600060208201525b6020810151611f0190611efa906001600160e01b0316611bbd565b96876128f8565b94159081611f31575b5015611f2357611bfc61180392610736611bf6876124ab565b5061180390611c3743612514565b5163ffffffff16905063ffffffff16431438611f0a565b611f64611ca8611f578361199f565b8460005260206000200190565b611edf565b15611f7057565b60405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606490fd5b91611fcc9391611fc49361211c565b919091611fef565b90565b60051115611fd957565b634e487b7160e01b600052602160045260246000fd5b611ff881611fcf565b806120005750565b61200981611fcf565b600181036120565760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b61205f81611fcf565b600281036120ac5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b806120b8600392611fcf565b146120bf57565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b506040513d6000823e3d90fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083116121a05791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15612193575b81516001600160a01b0381161561218d579190565b50600190565b61219b61210f565b612178565b50505050600090600390565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316148061229d575b15612207577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f000000000000000000000000000000000000000000000000000000000000000082527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261229781611798565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146121de565b6122ce6121ac565b9060405190602082019261190160f01b845260228301526042820152604281526080810181811067ffffffffffffffff82111761230f575b60405251902090565b612317611758565b612306565b8115612326570490565b634e487b7160e01b600052601260045260246000fd5b90808216911860011c81018091116123515790565b611fcc6117d6565b8015612493578061242c61242561241b6124116124076123fd6123f36123e96001611fcc9a6000908b60801c80612487575b508060401c8061247a575b508060201c8061246d575b508060101c80612460575b508060081c80612453575b508060041c80612446575b508060021c80612439575b50821c612432575b811c1b6123e2818b61231c565b0160011c90565b6123e2818a61231c565b6123e2818961231c565b6123e2818861231c565b6123e2818761231c565b6123e2818661231c565b6123e2818561231c565b809261231c565b90612499565b81016123d5565b60029150910190386123cd565b60049150910190386123c2565b60089150910190386123b7565b60109150910190386123ac565b60209150910190386123a1565b6040915091019038612396565b9150506080903861238b565b50600090565b90808210156124a6575090565b905090565b6001600160e01b03908181116124bf571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608490fd5b63ffffffff90818111612525571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608490fd5b919060ff600c541615612690576001600160a01b0392808416801561263d57611803948316906125aa8215156126a2565b6001600160a01b03831660009081526020819052604090208590546125d1828210156126fa565b036125ee8460018060a01b03166000526000602052604060002090565b556001600160a01b0384166000908152602081815260409182902080548801905590518681527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a36127ee565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b604051638574adcf60e01b8152600490fd5b156126a957565b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b1561270157565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60076020527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df546001600160a01b039182166000908152604090205461180393929081169116611ac7565b6001600160a01b039081166000908152600760205260408120549080527f6d5257204ebe7d88fd91ae87941cb2dd9d8062b64ae5a2bd2d28ec40b9fbf6df5461180393929081169116611ac7565b6001600160a01b0390811660009081526007602052604080822054938316825290205461180393929082169116611ac7565b1561282757565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b1561287e57565b60405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608490fd5b9081602091031261000e575190565b9081039081116123515790565b908101809111612351579056fe6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7afa26469706673582212208a2a8518015bbcfe4392f8297272a68be9a5f815db0ab7599103adcd5f5cb70964736f6c63430008100033000000000000000000000000cee284f754e854890e311e3280b767f80797180d00000000000000000000000072ce9c846789fdb6fc1f34ac4ad25dd9ef7031ef0000000000000000000000001885b7c7a3ae1f35ba71c0392c13153a95c4914f