[ { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "initialSupply", "type": "uint256" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InvalidShortString", "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": [ { "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": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "CLOCK_MODE", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "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": "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": "clock", "outputs": [ { "internalType": "uint48", "name": "", "type": "uint48" } ], "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": [], "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": "uint256", "name": "timepoint", "type": "uint256" } ], "name": "getPastTotalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "timepoint", "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": [ { "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": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "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": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
6101608060405234620000e157620034e280380380916200002082620000fc565b833960808183019112620000e1578151906001600160a01b0382168203620000e157610180516101a0516001600160401b039490858111620000e157836200006a9183016200017a565b926101c051958611620000e1576200008f956200008892016200017a565b92620001e0565b6040516123df9081620010e3823960805181611db4015260a05181611e6f015260c05181611d7e015260e05181611e0301526101005181611e2901526101205181610819015261014051816108420152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b601f01601f1916610160908101906001600160401b038211908210176200012257604052565b620000e6565b604081019081106001600160401b038211176200012257604052565b60405190620001538262000128565b565b60005b838110620001695750506000910152565b818101518382015260200162000158565b81601f82011215620000e15780516001600160401b0392838211620001225760405193601f8301601f19908116603f0116850190811185821017620001225760405281845260208284010111620000e157620001dd916020808501910162000155565b90565b90919392604051620001f28162000128565b600195868252602080830193603160f81b8552825160018060401b03811162000122576200022d816200022760035462000365565b620003a2565b8299601f8211600114620002d1579080806200026a9493620001539c9d600093620002c5575b501b916000199060031b1c19161760035562000506565b620002758262000c93565b61012052620002848362000da3565b61014052815191012060e052519020610100524660a052620002a562000f22565b6080523060c052620002bf601260ff19600c541617600c55565b6200065f565b88015192503862000253565b60036000529299919291601f198216907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9160005b8181106200034f5750918391620001539c9d96946200026a96941062000335575b5050811b0160035562000506565b87015160001960f88460031b161c19169055388062000327565b87830151845592850192918d01918d0162000306565b90600182811c9216801562000397575b60208310146200038157565b634e487b7160e01b600052602260045260246000fd5b91607f169162000375565b601f8111620003af575050565b6000906003825260208220906020601f850160051c83019410620003f0575b601f0160051c01915b828110620003e457505050565b818155600101620003d7565b9092508290620003ce565b601f811162000408575050565b6000906004825260208220906020601f850160051c8301941062000449575b601f0160051c01915b8281106200043d57505050565b81815560010162000430565b909250829062000427565b601f811162000461575050565b6000906005825260208220906020601f850160051c83019410620004a2575b601f0160051c01915b8281106200049657505050565b81815560010162000489565b909250829062000480565b601f8111620004ba575050565b6000906006825260208220906020601f850160051c83019410620004fb575b601f0160051c01915b828110620004ef57505050565b818155600101620004e2565b9092508290620004d9565b80519091906001600160401b038111620001225762000532816200052c60045462000365565b620003fb565b602080601f831160011462000571575081929360009262000565575b50508160011b916000199060031b1c191617600455565b0151905038806200054e565b6004600052601f198316949091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b926000905b878210620005e0575050836001959610620005c6575b505050811b01600455565b015160001960f88460031b161c19169055388080620005bb565b80600185968294968601518155019501930190620005a5565b156200060157565b60405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608490fd5b906001600160a01b038216801562000709576002548281018091116200070357620006ff93620006e192620006948593600255565b6001600160a01b038216600090815260208181526040808320805487019055518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a362000764565b600254620006f9906001600160e01b031015620005f9565b6200097c565b5050565b6200074e565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b60096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b546001600160a01b03918216600090815260408120548316939290911690818414158062000868575b620007bf575b50505050565b82908262000827575b50505081620007da575b8080620007b9565b6001600160a01b0382166000908152600a60205260409020600080516020620034c2833981519152916200080e9162000c26565b60408051928352602083019190915290a23880620007d2565b600080516020620034c283398151915291604082856200084e9452600a6020522062000b02565b60408051928352602083019190915290a2388181620007c8565b50821515620007b3565b604080519192919081016001600160401b038111828210176200012257604052602081935463ffffffff81168352811c910152565b600b54906801000000000000000082101562000122576001820180600b558210156200091557600b600052805160209182015190911b63ffffffff191663ffffffff91909116177f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990910155565b634e487b7160e01b600052603260045260246000fd5b908154680100000000000000008110156200012257600181018084558110156200091557600092835260209283902082519284015190931b63ffffffff191663ffffffff9290921691909117910155565b600b549091811591821562000ac4576200099562000144565b60008152600060208201525b6020810151620009ce90620009c6906001600160e01b03165b6001600160e01b031690565b9586620010c6565b9315908162000a9d575b501562000a3557620001539062000a1e620009f38562000f8e565b600b600052917f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db80190565b9063ffffffff82549181199060201b169116179055565b506200015362000a5e62000a5862000a4d4362000ff8565b65ffffffffffff1690565b62001060565b62000a9762000a6d8562000f8e565b62000a8762000a7b62000144565b63ffffffff9094168452565b6001600160e01b03166020830152565b620008a7565b5163ffffffff16905063ffffffff62000aba62000a4d4362000ff8565b91161438620009d8565b600b60005262000afc7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8820162000872565b62000872565b620009a1565b90918154918215928360001462000c065762000b1d62000144565b60008152600060208201525b602081015162000b4f9062000b47906001600160e01b0316620009ba565b9687620010d4565b9415908162000bdf575b501562000b865762000a1e620001539262000b748662000f8e565b92600019019060005260206000200190565b50620001539062000b9f62000a5862000a4d4362000ff8565b9062000bd962000baf8662000f8e565b62000bc962000bbd62000144565b63ffffffff9095168552565b6001600160e01b03166020840152565b6200092b565b5163ffffffff16905063ffffffff62000bfc62000a4d4362000ff8565b9116143862000b59565b62000c2062000af660001983018460005260206000200190565b62000b29565b90918154918215928360001462000c735762000c4162000144565b60008152600060208201525b602081015162000b4f9062000c6b906001600160e01b0316620009ba565b9687620010c6565b62000c8d62000af660001983018460005260206000200190565b62000c4d565b908151602080821060001462000cb157505090620001dd9062000eb3565b6001600160401b038211620001225762000cd88262000cd260055462000365565b62000454565b80601f831160011462000d18575081929360009262000d0c575b50508160011b916000199060031b1c19161760055560ff90565b01519050388062000cf2565b6005600052601f198316949091907f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0926000905b87821062000d8a57505083600195961062000d70575b505050811b0160055560ff90565b015160001960f88460031b161c1916905538808062000d62565b8060018596829496860151815501950193019062000d4c565b908151602080821060001462000dc157505090620001dd9062000eb3565b6001600160401b038211620001225762000de88262000de260065462000365565b620004ad565b80601f831160011462000e28575081929360009262000e1c575b50508160011b916000199060031b1c19161760065560ff90565b01519050388062000e02565b6006600052601f198316949091907ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f926000905b87821062000e9a57505083600195961062000e80575b505050811b0160065560ff90565b015160001960f88460031b161c1916905538808062000e72565b8060018596829496860151815501950193019062000e5c565b601f81511162000ee157602081519101516020821062000ed1571790565b6000198260200360031b1b161790565b6044604051809263305a27a960e01b82526020600483015262000f14815180928160248601526020868601910162000155565b601f01601f19168101030190fd5b60e051610100516040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815260c0810181811060018060401b03821117620001225760405251902090565b6001600160e01b039081811162000fa3571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608490fd5b65ffffffffffff908181116200100c571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608490fd5b63ffffffff9081811162001072571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608490fd5b908101809111620007035790565b90810390811162000703579056fe6080604052600436101561001257600080fd5b60003560e01c806306fdde03146101b7578063095ea7b3146101b257806318160ddd146101ad57806323b872dd146101a8578063313ce567146101a35780633644e5151461019e57806339509351146101995780633a46b1a8146101945780634bf5d7e91461018f578063587cde1e1461018a5780635c19a95c146101855780636fcfff451461018057806370a082311461017b5780637ecebe001461017657806384b0196e146101715780638e539e8c1461016c57806391ddadf41461016757806395d89b41146101625780639ab24eb01461015d578063a0712d6814610158578063a457c2d714610153578063a9059cbb1461014e578063c3cda52014610149578063d505accf14610144578063dd62ed3e1461013f5763f1127ed81461013a57600080fd5b61101b565b610fc3565b610e7d565b610d52565b610d0c565b610c5e565b610b84565b610b22565b610a7b565b610a4f565b6108f6565b6107fe565b6107c4565b61078a565b610742565b61071e565b6106e3565b610631565b6104dc565b610484565b610461565b610440565b610375565b610357565b610326565b610210565b919082519283825260005b8481106101e8575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016101c7565b90602061020d9281815201906101bc565b90565b346102f5576000806003193601126102f2576040519080600354610233816110a2565b808552916001918083169081156102c8575060011461026d575b6102698561025d8187038261114b565b604051918291826101fc565b0390f35b9250600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106102b057505050810160200161025d8261026961024d565b80546020858701810191909152909301928101610295565b8695506102699693506020925061025d94915060ff191682840152151560051b820101929361024d565b80fd5b600080fd5b600435906001600160a01b03821682036102f557565b602435906001600160a01b03821682036102f557565b346102f55760403660031901126102f55761034c6103426102fa565b602435903361135f565b602060405160018152f35b346102f55760003660031901126102f5576020600254604051908152f35b346102f55760603660031901126102f55761038e6102fa565b610396610310565b6001600160a01b0382166000908152600160209081526040808320338452909152902060443591905492600184016103df575b6103d39350611251565b60405160018152602090f35b8284106103fb576103f6836103d39503338361135f565b6103c9565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b346102f55760003660031901126102f557602060ff600c5416604051908152f35b346102f55760003660031901126102f557602061047c611d7b565b604051908152f35b346102f55760403660031901126102f55761049d6102fa565b3360009081526001602090815260408083206001600160a01b038516845290915290205460243581018091116104d75761034c913361135f565b61116d565b346102f55760403660031901126102f5576104f56102fa565b6024359061051465ffffffffffff61050c4361225e565b168310611538565b6001600160a01b03166000908152600a60205260408120805492909183600581116105e0575b50905b83821061058b57505081610564575050602060005b6040516001600160e01b039091168152f35b61057f61058691602093600019019060005260206000200190565b5460201c90565b610552565b9092610597818561208e565b90818363ffffffff6105bd6105b3848960005260206000200190565b5463ffffffff1690565b1611156105ce575050925b9061053d565b9094506105db9150611183565b6105c8565b806105f06105f6929693966120a3565b90611584565b908263ffffffff6106116105b3858860005260206000200190565b1611156106215750925b3861053a565b935061062c90611183565b61061b565b346102f55760003660031901126102f5574365ffffffffffff6106534361225e565b160361069e57610269604051610668816110f2565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c740000006020820152604051918291826101fc565b60405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a2062726f6b656e20636c6f636b206d6f64650000006044820152606490fd5b346102f55760203660031901126102f55760206001600160a01b03806107076102fa565b166000526009825260406000205416604051908152f35b346102f55760203660031901126102f55761074061073a6102fa565b3361165a565b005b346102f55760203660031901126102f5576001600160a01b036107636102fa565b16600052600a602052602061077c6040600020546122c5565b63ffffffff60405191168152f35b346102f55760203660031901126102f5576001600160a01b036107ab6102fa565b1660005260006020526020604060002054604051908152f35b346102f55760203660031901126102f5576001600160a01b036107e56102fa565b1660005260076020526020604060002054604051908152f35b346102f5576000806003193601126102f2576108a89061083d7f0000000000000000000000000000000000000000000000000000000000000000611ebb565b6108667f0000000000000000000000000000000000000000000000000000000000000000611fb4565b916040519161087483611113565b818352604051948594600f60f81b865261089a60209360e08589015260e08801906101bc565b9086820360408801526101bc565b904660608601523060808601528260a086015284820360c08601528080855193848152019401925b8281106108df57505050500390f35b8351855286955093810193928101926001016108d0565b346102f55760203660031901126102f55760043561092565ffffffffffff61091d4361225e565b168210611538565b600b5490600082600581116109e8575b50905b828210610985578280610952575060405160008152602090f35b600b600052602090610586907f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db80161057f565b9091610991818461208e565b600b600052908263ffffffff6109c87f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db985016105b3565b1611156109d85750915b90610938565b92506109e390611183565b6109d2565b806105f06109f8929593956120a3565b600b600052908263ffffffff610a2f7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db985016105b3565b161115610a3f5750915b38610935565b9250610a4a90611183565b610a39565b346102f55760003660031901126102f5576020610a6b4361225e565b65ffffffffffff60405191168152f35b346102f5576000806003193601126102f2576040519080600454610a9e816110a2565b808552916001918083169081156102c85750600114610ac7576102698561025d8187038261114b565b9250600483527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610b0a57505050810160200161025d8261026961024d565b80546020858701810191909152909301928101610aef565b346102f55760203660031901126102f5576001600160a01b03610b436102fa565b16600052600a602052604060002080548015600014610b6a57505060405160008152602090f35b602091610b7b9160001901906114e8565b5054811c610552565b346102f55760203660031901126102f5576004353315610c195780610bb6610bb161074093600254611191565b600255565b33600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a3610bfe81336115dd565b600254610c14906001600160e01b03101561232a565b6119ab565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b346102f55760403660031901126102f557610c776102fa565b60243590336000526001602052610ca48160406000209060018060a01b0316600052602052604060002090565b5491808310610cb9576103d39203903361135f565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b346102f55760403660031901126102f55761034c610d286102fa565b6024359033611251565b6064359060ff821682036102f557565b6084359060ff821682036102f557565b346102f55760c03660031901126102f557610d6b6102fa565b60443590602435610d7a610d32565b92804211610e3857610e0a610e33916107409560405190610df282610de46020820195898b8860609194939260808201957fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835260018060a01b0316602083015260408201520152565b03601f19810184528361114b565b610e0560a4359360843593519020611e95565b611b95565b6001600160a01b0381166000908152600760205260409020805460018101909155909214611591565b61165a565b60405162461bcd60e51b815260206004820152601d60248201527f4552433230566f7465733a207369676e617475726520657870697265640000006044820152606490fd5b346102f55760e03660031901126102f557610e966102fa565b610e9e610310565b6044359060643592610eae610d42565b93804211610f7e57610f66610f7991610de461074097610f53610eec8760018060a01b03166000526007602052604060002090815491600183019055565b604080517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9602082019081526001600160a01b03808c1693830193909352918b166060820152608081018c905260a081019290925260c082019590955292839060e0820190565b610e0560c4359360a43593519020611e95565b6001600160a01b0383811691161461148f565b61135f565b60405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606490fd5b346102f55760403660031901126102f5576020611012610fe16102fa565b610fe9610310565b6001600160a01b0391821660009081526001855260408082209290931681526020919091522090565b54604051908152f35b346102f55760403660031901126102f5576110346102fa565b63ffffffff60243581811681036102f55761107e6110849160409460006020875161105e816110f2565b82815201526001600160a01b03166000908152600a6020528590206114e8565b50611516565b8251815190921682526020908101516001600160e01b031690820152f35b90600182811c921680156110d2575b60208310146110bc57565b634e487b7160e01b600052602260045260246000fd5b91607f16916110b1565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761110e57604052565b6110dc565b6020810190811067ffffffffffffffff82111761110e57604052565b60c0810190811067ffffffffffffffff82111761110e57604052565b90601f8019910116810190811067ffffffffffffffff82111761110e57604052565b634e487b7160e01b600052601160045260246000fd5b90600182018092116104d757565b919082018092116104d757565b156111a557565b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b156111fd57565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b6001600160a01b03929190838116801561130c5761130a9483169061127782151561119e565b6001600160a01b038316600090815260208190526040902085905461129e828210156111f6565b036112bb8460018060a01b03166000526000602052604060002090565b556001600160a01b0384166000908152602081815260409182902080548801905590518681527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a3611628565b565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03808216929190831561143e5782169384156113ee57806113d87f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925946113c16113e99560018060a01b03166000526001602052604060002090565b9060018060a01b0316600052602052604060002090565b556040519081529081906020820190565b0390a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b1561149657565b60405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606490fd5b6040519061130a826110f2565b80548210156115005760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90604051611523816110f2565b602081935463ffffffff81168352811c910152565b1561153f57565b60405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20667574757265206c6f6f6b7570000000000000006044820152606490fd5b919082039182116104d757565b1561159857565b60405162461bcd60e51b815260206004820152601960248201527f4552433230566f7465733a20696e76616c6964206e6f6e6365000000000000006044820152606490fd5b60096020527fec8156718a8372b1db44bb411437d0870f3e3790d4a08526d024ce1b0b668f6b546001600160a01b039182166000908152604090205461130a939290811691166116ce565b6001600160a01b0390811660009081526009602052604080822054938316825290205461130a939290821691166116ce565b61130a9160018060a01b038092166000928184526009602052806040852054168092856020527f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60408720549660096020526040812094871694856bffffffffffffffffffffffff60a01b82541617905580a45b6001600160a01b038083169392911680841415806118e1575b6116f2575b50505050565b80611760575b5082611705575b806116ec565b6001600160a01b03166000908152600a602052604090207fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249161174791611adc565b60408051928352602083019190915290a23880806116ff565b80600052600a6020527fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72460406000208054801591826000146118be576117a46114db565b6000815260006020820152915b60208301516117d0906001600160e01b03165b6001600160e01b031690565b926117db898561238f565b9415908161189b575b50156118395761180c611823926117fa866121f5565b92600019019060005260206000200190565b9063ffffffff82549181199060201b169116179055565b604080519182526020820192909252a2386116f8565b506118969061185d61185861184d4361225e565b65ffffffffffff1690565b6122c5565b9061189161186a866121f5565b6118816118756114db565b63ffffffff9095168552565b6001600160e01b03166020840152565b611951565b611823565b5163ffffffff16905063ffffffff6118b561184d4361225e565b911614386117e4565b6118db6118d660001984018360005260206000200190565b611516565b916117b1565b508215156116e7565b600b5490600160401b82101561110e576001820180600b5582101561150057600b600052805160209182015190911b63ffffffff191663ffffffff91909116177f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990910155565b8054600160401b81101561110e5761196e916001820181556114e8565b61199557815160209283015190921b63ffffffff191663ffffffff92909216919091179055565b634e487b7160e01b600052600060045260246000fd5b600b5490918115918215611aa7576119c16114db565b60008152600060208201525b60208101516119ef906119e8906001600160e01b03166117c4565b958661239c565b93159081611a84575b5015611a395761130a9061180c611a0e856121f5565b600b600052917f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db80190565b5061130a611a4c61185861184d4361225e565b611a7f611a58856121f5565b611a6f611a636114db565b63ffffffff9094168452565b6001600160e01b03166020830152565b6118ea565b5163ffffffff16905063ffffffff611a9e61184d4361225e565b911614386119f8565b600b600052611ad77f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db88201611516565b6119cd565b909181549182159283600014611b7857611af46114db565b60008152600060208201525b6020810151611b2290611b1b906001600160e01b03166117c4565b968761239c565b94159081611b55575b5015611b415761180c61130a926117fa866121f5565b5061130a9061185d61185861184d4361225e565b5163ffffffff16905063ffffffff611b6f61184d4361225e565b91161438611b2b565b611b906118d660001983018460005260206000200190565b611b00565b9161020d9391611ba493611cec565b919091611bcc565b60051115611bb657565b634e487b7160e01b600052602160045260246000fd5b611bd581611bac565b80611bdd5750565b611be681611bac565b60018103611c335760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b611c3c81611bac565b60028103611c895760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b80611c95600392611bac565b14611c9c57565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611d6f5791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611d625781516001600160a01b03811615611d5c579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b307f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03161480611e6c575b15611dd6577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a08152611e668161112f565b51902090565b507f00000000000000000000000000000000000000000000000000000000000000004614611dad565b604290611ea0611d7b565b906040519161190160f01b8352600283015260228201522090565b60ff8114611ef95760ff811690601f8211611ee75760405191611edd836110f2565b8252602082015290565b604051632cd44ac360e21b8152600490fd5b50604051600554816000611f0c836110a2565b80835292600190818116908115611f925750600114611f33575b5061020d9250038261114b565b6005600090815291507f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b848310611f77575061020d935050810160200138611f26565b81935090816020925483858901015201910190918492611f5e565b90506020925061020d94915060ff191682840152151560051b82010138611f26565b60ff8114611fd65760ff811690601f8211611ee75760405191611edd836110f2565b50604051600654816000611fe9836110a2565b80835292600190818116908115611f92575060011461200f575061020d9250038261114b565b6006600090815291507ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f5b848310612053575061020d935050810160200138611f26565b8193509081602092548385890101520191019091849261203a565b8115612078570490565b634e487b7160e01b600052601260045260246000fd5b90808216911860011c81018091116104d75790565b80156121dd578061217661216f61216561215b61215161214761213d612133600161020d9a6000908b60801c806121d1575b508060401c806121c4575b508060201c806121b7575b508060101c806121aa575b508060081c8061219d575b508060041c80612190575b508060021c80612183575b50821c61217c575b811c1b61212c818b61206e565b0160011c90565b61212c818a61206e565b61212c818961206e565b61212c818861206e565b61212c818761206e565b61212c818661206e565b61212c818561206e565b809261206e565b906121e3565b810161211f565b6002915091019038612117565b600491509101903861210c565b6008915091019038612101565b60109150910190386120f6565b60209150910190386120eb565b60409150910190386120e0565b915050608090386120d5565b50600090565b90808210156121f0575090565b905090565b6001600160e01b0390818111612209571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608490fd5b65ffffffffffff90818111612271571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203460448201526538206269747360d01b6064820152608490fd5b63ffffffff908181116122d6571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608490fd5b1561233157565b60405162461bcd60e51b815260206004820152603060248201527f4552433230566f7465733a20746f74616c20737570706c79207269736b73206f60448201526f766572666c6f77696e6720766f74657360801b6064820152608490fd5b9081039081116104d75790565b9081018091116104d7579056fea2646970667358221220c0d1612a129f605b352b125907e95062789b0d4dd41f0433fe54879ac1b522bd64736f6c63430008130033dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724000000000000000000000000d413a02182c41b30c0ae8157a5b74385f51f3e72000000000000000000000000000000000000000000115eec47f6cf7e35000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000044d6173610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d41534100000000000000000000000000000000000000000000000000000000