[ { "inputs": [ { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "symbol", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAllDelegation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": false, "internalType": "address", "name": "delegator", "type": "address" } ], "name": "DelegatorApproved", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "recipient", "type": "address" }, { "indexed": true, "internalType": "address", "name": "token", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "start", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "end", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "rate", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "period", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "vestingAdmin", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "adminTransferOBO", "type": "bool" } ], "name": "PlanCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountRedeemed", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "planRemainder", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "resetDate", "type": "uint256" } ], "name": "PlanRedeemed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amountRedeemed", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "revokedAmount", "type": "uint256" } ], "name": "PlanRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "PlanTransferredByVestingAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "bool", "name": "transferable", "type": "bool" } ], "name": "PlanVestingAdminTransferToggle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_admin", "type": "address" } ], "name": "URIAdminDeleted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "newURI", "type": "string" } ], "name": "URISet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "_newVestingAdmin", "type": "address" } ], "name": "VestingPlanAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "vaultAddress", "type": "address" } ], "name": "VotingVaultCreated", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "delegator", "type": "address" }, { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "approveDelegator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "approveSpenderDelegator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "address", "name": "newVestingAdmin", "type": "address" } ], "name": "changeVestingPlanAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "internalType": "uint256", "name": "rate", "type": "uint256" }, { "internalType": "uint256", "name": "period", "type": "uint256" }, { "internalType": "address", "name": "vestingAdmin", "type": "address" }, { "internalType": "bool", "name": "adminTransferOBO", "type": "bool" } ], "name": "createPlan", "outputs": [ { "internalType": "uint256", "name": "newPlanId", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegateAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" }, { "internalType": "address[]", "name": "delegatees", "type": "address[]" } ], "name": "delegatePlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "deleteAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" }, { "internalType": "uint256", "name": "revokeTime", "type": "uint256" } ], "name": "futureRevokePlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "getApprovedDelegator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAllDelegation", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" }, { "internalType": "address", "name": "token", "type": "address" } ], "name": "lockedBalances", "outputs": [ { "internalType": "uint256", "name": "lockedBalance", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" }, { "internalType": "uint256", "name": "redemptionTime", "type": "uint256" } ], "name": "partialRedeemPlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "uint256", "name": "timeStamp", "type": "uint256" }, { "internalType": "uint256", "name": "redemptionTime", "type": "uint256" } ], "name": "planBalanceOf", "outputs": [ { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "remainder", "type": "uint256" }, { "internalType": "uint256", "name": "latestUnlock", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "planEnd", "outputs": [ { "internalType": "uint256", "name": "end", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "plans", "outputs": [ { "internalType": "address", "name": "token", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "cliff", "type": "uint256" }, { "internalType": "uint256", "name": "rate", "type": "uint256" }, { "internalType": "uint256", "name": "period", "type": "uint256" }, { "internalType": "address", "name": "vestingAdmin", "type": "address" }, { "internalType": "bool", "name": "adminTransferOBO", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "redeemAllPlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" } ], "name": "redeemPlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256[]", "name": "planIds", "type": "uint256[]" } ], "name": "revokePlans", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAllDelegation", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForOperator", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" } ], "name": "setupVoting", "outputs": [ { "internalType": "address", "name": "votingVault", "type": "address" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "planId", "type": "uint256" }, { "internalType": "bool", "name": "transferrable", "type": "bool" } ], "name": "toggleAdminTransferOBO", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "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": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "updateBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "votingVaults", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
6080604052346200033c5762004b69803803806200001d8162000341565b9283398101906040818303126200033c5780516001600160401b03908181116200033c57836200004f91840162000367565b91602093848201518381116200033c576200006b920162000367565b825190828211620003265760008054926001958685811c951680156200031b575b8886101462000307578190601f95868111620002b4575b5088908683116001146200025057849262000244575b5050600019600383901b1c191690861b1781555b8151938411620002305784548581811c9116801562000225575b878210146200021157838111620001c9575b50859284116001146200016457839495509262000158575b5050600019600383901b1c191690821b1781555b600d55600f8054610100600160a81b0319163360081b610100600160a81b031617905560405161478f9081620003da8239f35b01519050388062000111565b9190601f1984169585845280842093905b878210620001b15750508385961062000197575b505050811b01815562000125565b015160001960f88460031b161c1916905538808062000189565b80878596829496860151815501950193019062000175565b8582528682208480870160051c82019289881062000207575b0160051c019086905b828110620001fb575050620000f9565b838155018690620001eb565b92508192620001e2565b634e487b7160e01b82526022600452602482fd5b90607f1690620000e7565b634e487b7160e01b81526041600452602490fd5b015190503880620000b9565b8480528985208994509190601f198416865b8c8282106200029d575050841162000283575b505050811b018155620000cd565b015160001960f88460031b161c1916905538808062000275565b8385015186558c9790950194938401930162000262565b9091508380528884208680850160051c8201928b8610620002fd575b918a91869594930160051c01915b828110620002ee575050620000a3565b8681558594508a9101620002de565b92508192620002d0565b634e487b7160e01b83526022600452602483fd5b94607f16946200008c565b634e487b7160e01b600052604160045260246000fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200032657604052565b919080601f840112156200033c5782516001600160401b03811162000326576020906200039d601f8201601f1916830162000341565b928184528282870101116200033c5760005b818110620003c557508260009394955001015290565b8581018301518482018401528201620003af56fe60808060405260043610156200001457600080fd5b60003560e01c90816301ffc9a714620023ea57508063050fbad71462001c8e57806306fdde031462001bde578063081812fc1462001bbc57806308bbb8241462001b88578063095ea7b31462001a4b57806316c0996714620019c957806318160ddd14620019a95780631f25ccb614620018ff57806323b872dd146200156157806323ed81fb146200148d5780632f745c591462001460578063402d5a77146200143e57806342842e0e14620014045780634f6ccce7146200136e57806352e5b7e414620012665780636352211e14620012325780636b04021814620011cc5780636c0360eb14620011ab57806370a0823114620011825780637b4e51f614620011425780637e5d8b4d146200109d57806388cccd80146200106a578063931688cb1462000e3957806395d89b411462000d4a578063968b3e591462000cf15780639e866c471462000c83578063a22cb4651462000c50578063a41415961462000b82578063a8713ec71462000b4c578063a8973e2b1462000a5a578063b162061614620009d1578063b6f977871462000975578063b88d4fde146200080a578063b9bdac2c1462000767578063c3ca5755146200067c578063c7711c4c14620005db578063c7d74fa71462000594578063c87b56dd1462000351578063d0c524b714620002bc578063de6923b814620002795763e985e9c5146200021857600080fd5b346200027457604036600319011262000274576200023562002478565b6200023f6200248f565b9060018060a01b03809116600052600560205260406000209116600052602052602060ff604060002054166040519015158152f35b600080fd5b346200027457602036600319011262000274576200029662002ab6565b6020620002a56004356200348d565b6001600d556040516001600160a01b039091168152f35b346200027457620002cd366200256d565b9091620002d962002ab6565b4282106200031d5760005b838110620002f3576001600d55005b8062000311846200030a6200031794888762002d80565b3562003212565b62002d5b565b620002e4565b60405162461bcd60e51b815260206004820152600c60248201526b2170617374207265766f6b6560a01b6044820152606490fd5b34620002745760208060031936011262000274576004356000818152600260205260409020546200038d906001600160a01b03161515620027e9565b81620003986200264f565b8051909290156200057857600090807a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000818181101562000569575b5050836d04ee2d6d415b85acef8100000000808310156200055c575b5050662386f26fc10000808210156200054e575b506305f5e1008082101562000540575b506127108082101562000532575b50606481101562000523575b600a8091101562000518575b600180840192816021620004656200044c8762002719565b966200045c60405198896200262d565b80885262002719565b8689019790601f1901368937860101905b620004df575b5050505092620004c39291620004b6946040519583620004a68895518092888089019101620024b6565b84019151809386840190620024b6565b010380845201826200262d565b905b620004db604051928284938452830190620024db565b0390f35b600019019083906f181899199a1a9b1b9c1cb0b131b232b360811b8282061a835304918215620005125791908262000476565b6200047c565b916001019162000434565b60646002910492019162000428565b60049104920191866200041c565b60089104920191866200040e565b6010910492019186620003fe565b93019290048387620003ea565b604094500490508680620003ce565b505050604051620005898162002611565b6000815290620004c5565b34620002745760603660031901126200027457620004db620005be60443560243560043562003d1a565b604080519384526020840192909252908201529081906060820190565b34620002745760003660031901126200027457600f546200060b33600883901c6001600160a01b03161462003ce4565b60ff8116156200065157610100600160a81b031916600f556040513381527fa775782c93424d570e142a52abffaedcebb0e9cd73cca502455acb0587efb6b790602090a1005b606460405162461bcd60e51b81526020600482015260046024820152630854d15560e21b6044820152fd5b34620002745760203660031901126200027457600435600052600c60205260206040600020604051620006af81620025e0565b60018060a01b03808354168252600183015480858401526002840154928360408201526003850154606082015260e060ff60048701549485608085015260066005890154988960a0870152015490811660c085015260a01c16151591015262000719828262003743565b6200074757926200073362000739926200073f9562002a95565b6200374e565b620036da565b604051908152f35b926200073981620007336200073994620007619762002a95565b6200073f565b346200027457600036600319011262000274576200078462002ab6565b6200078f3362002771565b6200079a8162002cee565b90620007aa60405192836200262d565b808252601f19620007bb8262002cee565b0136602084013760005b818110620007e057620007d9428462002dce565b6001600d55005b80620007f1620008049233620029b6565b620007fd828662002d6b565b5262002d5b565b620007c5565b346200027457608036600319011262000274576200082762002478565b50620008326200248f565b506044356064356001600160401b03811162000274573660238201121562000274576200086a90369060248160040135910162002735565b506001600160a01b039081620008808262002836565b16918233149283156200094d575b50821562000934575b505015620008d95760405162461bcd60e51b815260206004820152600e60248201526d217472616e736665727261626c6560901b6044820152606490fd5b0390fd5b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9091506200094333926200285e565b1614818062000897565b909250600052600560205260406000203360005260205260ff6040600020541691836200088e565b346200027457604036600319011262000274576200099262002478565b6200099c6200248f565b9060018060a01b03809116600052600b60205260406000209116600052602052602060ff604060002054166040519015158152f35b34620002745760203660031901126200027457600435600052600c602052610100604060002060ff60018060a01b03918281541692600182015491600281015460038201546004830154916006600585015494015495604051988952602089015260408801526060870152608086015260a0850152811660c084015260a01c16151560e0820152f35b346200027457604036600319011262000274576001600160401b03600435818111620002745762000a909036906004016200253a565b9091602435908111620002745762000aad9036906004016200253a565b91909262000aba62002ab6565b82820362000b195760005b82811062000ad4576001600d55005b62000ae181848462002d80565b359062000af081868862002d80565b35916001600160a01b0383168303620002745762000b1392620003119162003638565b62000ac5565b60405162461bcd60e51b815260206004820152600b60248201526a30b93930bc9032b93937b960a91b6044820152606490fd5b346200027457602036600319011262000274576004356000526011602052602060018060a01b0360406000205416604051908152f35b3462000274576040366003190112620002745762000bf462000ba362002478565b6024359062000be26001600160a01b038062000bbf8562002836565b16803314801562000bf6575b62000bd7915062003a90565b821633141562003ace565b62000bee828262003b0c565b6200289e565b005b5080600052600b60205260406000203360005260205260ff604060002054168062000c28575b62000bd7915062000bcb565b50600052600560205260406000203360005260205262000bd760ff6040600020541662000c1c565b3462000274576040366003190112620002745762000bf462000c7162002478565b62000c7b620024a6565b9033620028fd565b346200027457602036600319011262000274576004356001600160401b038111620002745762000cb89036906004016200253a565b62000cc262002ab6565b60005b81811062000cd4576001600d55005b62000ceb9062000311426200030a83868862002d80565b62000cc5565b346200027457602036600319011262000274576004356001600160401b038111620002745762000d4462000d2e620007d99236906004016200253a565b919062000d3a62002ab6565b4292369162002d06565b62002dce565b346200027457600036600319011262000274576040516000600180549062000d7282620025a3565b8085529181811690811562000e10575060011462000db3575b620004db8462000d9e818603826200262d565b604051918291602083526020830190620024db565b600081815292507fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82841062000df757505050810160200162000d9e8262000d8b565b8054602085870181019190915290930192810162000ddc565b60ff191660208087019190915292151560051b8501909201925062000d9e915083905062000d8b565b34620002745760208060031936011262000274576001600160401b0390600435828111620002745736602382011215620002745762000e8390369060248160040135910162002735565b9062000e9e60018060a01b03600f5460081c16331462003ce4565b8151928311620010545762000eb5600e54620025a3565b601f811162000feb575b508092601f811160011462000f4357807fde63cc2d19581e57e158d078c2df83f9ab70addd6257f7f12bfecb21c06c91289460009162000f37575b508160011b916000199060031b1c191617600e555b600160ff19600f541617600f5562000f32604051928284938452830190620024db565b0390a1005b90508301518562000efa565b601f19811693600e6000527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd9460005b81811062000fd357509482916001937fde63cc2d19581e57e158d078c2df83f9ab70addd6257f7f12bfecb21c06c9128971062000fb9575b5050811b01600e5562000f0f565b85015160001960f88460031b161c19169055858062000fab565b85830151875560019096019591840191840162000f73565b600e6000527fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd601f850160051c81019183861062001049575b601f0160051c01905b8181106200103c575062000ebf565b600081556001016200102d565b909150819062001024565b634e487b7160e01b600052604160045260246000fd5b3462000274576040366003190112620002745762000bf46200108b62002478565b62001095620024a6565b903362003b7e565b346200027457604036600319011262000274576004357f15e344fba3d60744c30f71eed830999cdb736cf0f1d09f414983adbaeb55d2a66020620010e0620024a6565b620010ea62002ab6565b6200110a6001600160a01b03620011018662002836565b16331462002fe5565b6000848152600c835260409020600601805460ff60a01b191682151560a01b60ff60a01b161790556040519015158152a26001600d55005b3462000274576040366003190112620002745762000bf46200116362002478565b6200116d620024a6565b906200117b82823362003b7e565b33620028fd565b3462000274576020366003190112620002745760206200073f620011a562002478565b62002771565b34620002745760003660031901126200027457620004db62000d9e6200264f565b346200027457620011dd366200256d565b90620011e862002ab6565b428210156200120357620007d99262000d4491369162002d06565b60405162461bcd60e51b81526020600482015260076024820152662166757475726560c81b6044820152606490fd5b3462000274576020366003190112620002745760206200125460043562002836565b6040516001600160a01b039091168152f35b346200027457604036600319011262000274576200128362002478565b6200128d6200248f565b6000916200129b8162002771565b916001600160a01b039081169160005b848110620012be57602086604051908152f35b620012ca8183620029b6565b6000526020600c81526040600020604051620012e681620025e0565b60e060ff878454169384845260018101548096850152600281015460408501526003810154606085015260048101546080850152600660058201549160a0928387015201549089821660c08601521c161515910152851462001355575b506200134f9062002d5b565b620012ab565b62001366906200134f9297620036da565b959062001343565b34620002745760203660031901126200027457600435600854811015620013aa576200139c60209162002a47565b90546040519160031b1c8152f35b60405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608490fd5b346200027457620014153662002502565b9150506000604051620014288162002611565b526001600160a01b039081620008808262002836565b3462000274576020366003190112620002745760206200125460043562003c2e565b3462000274576040366003190112620002745760206200073f6200148362002478565b60243590620029b6565b34620002745760403660031901126200027457600435620014ad6200248f565b6000828152600c60205260409020600601805490916001600160a01b0390620014da338385161462002d91565b81620014e68662002836565b9116911681146200152f577f423d5f6f62e79d3e51b096bd7715b454f212603530cdca551d6a37554889725a92816020936001600160601b0360a01b16179055604051908152a2005b60405162461bcd60e51b815260206004820152600a60248201526910b83630b727bbb732b960b11b6044820152606490fd5b346200027457620015723662002502565b80600052602091600c835260069260ff846040600020015460a01c1615620018c9576000838152600c8252604090208401546001600160a01b0383811696909591861687146200188f57908593929185600052600c8352620015df85836040600020015416331462002d91565b620015fb620015ee8762002836565b82871698168814620036e8565b87156200183e578662001771575060085492856000526009835283604060002055600160401b84101562001054576200165b86620016428660016002980160085562002a47565b90919082549060031b91821b91600019901b1916179055565b86880362001737575b505083600052600a81526200169e856040600020946001600160601b0360a01b95868154169055620016968762002836565b1614620036e8565b83600052600481526040600020838154169055846000526003815260406000206000198154019055856000526040600020600181540190558360005252836040600020918254161790558083837fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a47f52f56ec49519b0e1b434f05fcf39068afe732dec973010ca61efa6e0a087bdeb600080a4005b620017429062002771565b908760005282526040600020816000528252846040600020558460005260078252604060002055868062001664565b87870362001784575b506002926200165b565b6200178f9062002771565b60001981019390841162001828576002938660005260078452604060002054818103620017e3575b50866000526000604081205587600052828452604060002090600052835260006040812055926200177a565b886000528385526040600020826000528552604060002054896000528486526040600020826000528652806040600020556000526007855260406000205589620017b7565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b8152600481018490526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b60405162461bcd60e51b815260048101849052601260248201527110ba3930b739b332b9103a379030b236b4b760711b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d217472616e736665727261626c6560901b6044820152606490fd5b346200027457604036600319011262000274576200191c62002478565b620019266200248f565b906200193162002ab6565b6200193c3362002771565b6001600160a01b039182169290919060005b8381106200195d576001600d55005b806200196e620019909233620029b6565b80600052600c602052838786604060002054161462001996575b505062002d5b565b6200194e565b620019a19162003638565b868362001988565b346200027457600036600319011262000274576020600854604051908152f35b3462000274576040366003190112620002745762000bf4620019ea62002478565b6024359062001a1d6001600160a01b038062001a068562002836565b16803314801562001a235762000bd7915062003a90565b62003b0c565b50600052600b60205260406000203360005260205262000bd760ff6040600020541662000bcb565b3462000274576040366003190112620002745762001a6862002478565b6024356001600160a01b038062001a7f8362002836565b16809184161462001b395780331490811562001b13575b501562001aa85762000bf4916200289e565b60405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152608490fd5b9050600052600560205260406000203360005260205260ff604060002054168362001a96565b60405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608490fd5b34620002745760403660031901126200027457620007d962001ba96200248f565b62001bb362002ab6565b60043562003638565b346200027457602036600319011262000274576020620012546004356200285e565b346200027457600036600319011262000274576040516000805462001c0381620025a3565b8084529060019081811690811562000e10575060011462001c3157620004db8462000d9e818603826200262d565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b82841062001c7557505050810160200162000d9e8262000d8b565b8054602085870181019190915290930192810162001c5a565b346200027457610120366003190112620002745762001cac62002478565b62001cb66200248f565b60e435916001600160a01b0383168303620002745761010435918215158303620002745762001ce462002ab6565b6001600160a01b03821615620023b7576001600160a01b03811615620023885760443515620023585760a435156200232a5760443560a43511620022f55760c43515620022c55762001d3b60a43560443562003743565b6200229e5762001d5e6064356200073960c4356200073360a43560443562002a95565b905b81608435116200226b5760108054600101908190556040516370a0823160e01b81523060048201529094906020816024816001600160a01b0387165afa908115620021c25760009162002233575b506040516370a0823160e01b81523360048201526020816024816001600160a01b0388165afa908115620021c257600091620021fb575b5060443511620021ce576040516323b872dd60e01b60208201523360248201523060448201526044356064820152606481528060a08101106001600160401b0360a083011117620010545760a0810160405262001e4c906001600160a01b038516620037a5565b6040516370a0823160e01b8152306004820152906020826024816001600160a01b0388165afa918215620021c25760009262002185575b509062001e9862001e9f926044359262003762565b1462003770565b62001f8e60405162001eb181620025e0565b60018060a01b0384168152604435602082015260643560408201526060810160843581526006608083019260a435845260a0810160c435815260c082019460018060a01b038d16865260e083019488151586528c600052600c6020526040806000209460018060a01b038151166001600160601b0360a01b8754161786556020810151600187015501516002850155516003840155516004830155516005820155019160018060a01b039051166001600160601b0360a01b83541617825551151581549060ff60a01b90151560a01b169060ff60a01b1916179055565b60405162001f9c8162002611565b60008082528681526002602052604090205462001fc6906001600160a01b031615155b1562002b60565b6008549086600052600960205281604060002055600160401b8210156200105457620020028762001642846001620020d9960160085562002a47565b6200200d8662002771565b6001600160a01b03878116600090815260066020908152604080832085845282528083208c90558b83526007825280832094909455600a815283822080546001600160a01b03191690556002905291909120546200206e9116151562001fbf565b6001600160a01b0386166000818152600360209081526040808320805460010190558a83526002909152812080546001600160a01b031916831790558891907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4868662002be2565b156200216a5761010085927f6d5fb3665416b633057b4e53641a7dec63a802702a55e386df478871ea22af9b926020986040519660443588526064358b8901526084356040890152606088015260a435608088015260c43560a088015260018060a01b031660c0870152151560e086015260018060a01b03169460018060a01b031693a46001600d55604051908152f35b60405162461bcd60e51b815280620008d56004820162002b0d565b91506020823d602011620021b9575b81620021a3602093836200262d565b81010312620002745790519062001e9862001e83565b3d915062002194565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152600560248201526454484c303160d81b6044820152606490fd5b90506020813d6020116200222a575b8162002219602093836200262d565b810103126200027457518862001de5565b3d91506200220a565b90506020813d60201162002262575b8162002251602093836200262d565b810103126200027457518762001dae565b3d915062002242565b60405162461bcd60e51b815260206004820152600b60248201526a18db1a5999880f88195b9960aa1b6044820152606490fd5b620022be6064356200073960c43581816200073360a43560443562002a95565b9062001d60565b60405162461bcd60e51b81526020600482015260086024820152670c17dc195c9a5bd960c21b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c1c985d19480f88185b5bdd5b9d609a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526006602482015265305f7261746560d01b6044820152606490fd5b60405162461bcd60e51b81526020600482015260086024820152670c17d85b5bdd5b9d60c21b6044820152606490fd5b60405162461bcd60e51b8152602060048201526007602482015266182fba37b5b2b760c91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600b60248201526a0c17dc9958da5c1a595b9d60aa1b6044820152606490fd5b346200027457602036600319011262000274576004359063ffffffff60e01b8216809203620002745760209163780e9d6360e01b811490811562002430575b5015158152f35b6380ac58cd60e01b81149150811562002466575b811562002454575b508362002429565b6301ffc9a760e01b149050836200244c565b635b5e139f60e01b8114915062002444565b600435906001600160a01b03821682036200027457565b602435906001600160a01b03821682036200027457565b6024359081151582036200027457565b60005b838110620024ca5750506000910152565b8181015183820152602001620024b9565b90602091620024f681518092818552858086019101620024b6565b601f01601f1916010190565b606090600319011262000274576001600160a01b03906004358281168103620002745791602435908116810362000274579060443590565b9181601f8401121562000274578235916001600160401b03831162000274576020808501948460051b0101116200027457565b60406003198201126200027457600435906001600160401b03821162000274576200259b916004016200253a565b909160243590565b90600182811c92168015620025d5575b6020831014620025bf57565b634e487b7160e01b600052602260045260246000fd5b91607f1691620025b3565b61010081019081106001600160401b038211176200105457604052565b6001600160401b0381116200105457604052565b602081019081106001600160401b038211176200105457604052565b90601f801991011681019081106001600160401b038211176200105457604052565b60405190600082600e54916200266583620025a3565b80835292600190818116908115620026f5575060011462002692575b5062002690925003836200262d565b565b600e600090815291507fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd5b848310620026d957506200269093505081016020013862002681565b81935090816020925483858a01015201910190918592620026bd565b9050602092506200269094915060ff191682840152151560051b8201013862002681565b6001600160401b0381116200105457601f01601f191660200190565b929192620027438262002719565b916200275360405193846200262d565b82948184528183011162000274578281602093846000960137010152565b6001600160a01b031680156200279257600052600360205260406000205490565b60405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152608490fd5b15620027f157565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b03166200285b811515620027e9565b90565b60008181526002602052604090205462002883906001600160a01b03161515620027e9565b6000908152600460205260409020546001600160a01b031690565b600082815260046020526040902080546001600160a01b0319166001600160a01b0392831690811790915590620028d58362002836565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4565b6001600160a01b0391821692911690818314620029715760207f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c319183600052600582526040600020856000528252620029668160406000209060ff801983541691151516179055565b6040519015158152a3565b60405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606490fd5b620029c18162002771565b821015620029ee5760018060a01b0316600052600660205260406000209060005260205260406000205490565b60405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608490fd5b60085481101562002a7f5760086000527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30190600090565b634e487b7160e01b600052603260045260246000fd5b811562002aa0570490565b634e487b7160e01b600052601260045260246000fd5b6002600d541462002ac8576002600d55565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b1562002b6857565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fd5b3d1562002bdd573d9062002bc18262002719565b9162002bd160405193846200262d565b82523d6000602084013e565b606090565b9091600091803b1562002ce55762002c306020918493604051948580948193630a85bd0160e11b9a8b84523360048501528460248501526044840152608060648401526084830190620024db565b03926001600160a01b03165af19082908262002c8f575b505062002c815762002c5862002bad565b8051908162002c7c5760405162461bcd60e51b815280620008d56004820162002b0d565b602001fd5b6001600160e01b0319161490565b909192506020813d821162002cdc575b8162002cae602093836200262d565b8101031262002cd85751906001600160e01b03198216820362002cd5575090388062002c47565b80fd5b5080fd5b3d915062002c9f565b50505050600190565b6001600160401b038111620010545760051b60200190565b929162002d138262002cee565b9162002d2360405193846200262d565b829481845260208094019160051b81019283116200027457905b82821062002d4b5750505050565b8135815290830190830162002d3d565b6000198114620018285760010190565b805182101562002a7f5760209160051b010190565b919081101562002a7f5760051b0190565b1562002d9957565b60405162461bcd60e51b815260206004820152600d60248201526c10bb32b9ba34b733a0b236b4b760991b6044820152606490fd5b919060005b835181101562002fdf5762002df6824262002def848862002d6b565b5162003d1a565b918062002e12575b50505062002e0c9062002d5b565b62002dd3565b62002e1e848862002d6b565b519262002e2b8462002836565b6001600160a01b039062002e43908216331462002fe5565b84600052600c602090808252604092808460002054169260119182825285600020541692881560001462002fc75789600052815262002ea98560002060066000918281558260018201558260028201558260038201558260048201558260058201550155565b52600083902080546001600160a01b031916905562002ec8876200301b565b8062002f33575062002e0c96959492849262002f0c7fa6faee2246474597b6de7c76bf9a45d256737543cb0806e6e805b55b38c7663f9662002f2794339062003955565b51938493846040919493926060820195825260208201520152565b0390a290388062002dfe565b8091503b15620002745781516306b091f960e01b815233600482015260248101859052906000908290604490829084905af1801562002fbc57927fa6faee2246474597b6de7c76bf9a45d256737543cb0806e6e805b55b38c7663f949262002f279262002e0c9998979562002faa575b5062002f0c565b62002fb590620025fd565b3862002fa3565b82513d6000823e3d90fd5b91505283600284600020886001820155015562002ec8565b50509050565b1562002fed57565b60405162461bcd60e51b815260206004820152600660248201526510b7bbb732b960d11b6044820152606490fd5b620030268162002836565b6001600160a01b039080821690816200318657505060085482600052600960205280604060002055600160401b8110156200105457826200164282600162003072940160085562002a47565b60085460001980820192909183116200182857600092848452602060098152604091620030a3838720549162002a47565b90549060031b1c620030ba81620016428462002a47565b86526009825282862055858552848281205560085480156200317257908460029201620030e78162002a47565b8782549160031b1b19169055600855868652600a8152828620936001600160601b0360a01b948581541690556200311e8862002836565b888852600483528488208681541690551694858752600382528387209081540190558686525283209081541690557fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8280a4565b634e487b7160e01b86526031600452602486fd5b620031919062002771565b600019810191908211620018285760009184835260206007815260409283852054838103620031da575b5086855284848120558452600681528284209184525281205562003072565b8186526006835284862084875283528486205482875260068452858720828852845280868820558652600783528486205538620031bb565b9190916000818152602090600c825260409182822090620032b08451976200323a89620025e0565b83546001600160a01b039081168a526001850154848b01526002850154878b0152600385015460608b0152600485015460808b0152600585015460a08b8101919091526006959095015480821660c08c01819052951c60ff16151560e08b015293620032a890331462002d91565b428762003d1a565b50929093831562003422578681526011835285812054821685620033fd57878252600c84526200330687832060066000918281558260018201558260028201558260038201558260048201558260058201550155565b62003311886200301b565b8782526011845286822080546001600160a01b03191690555b8062003371575050827fa4489f0d65c1250dc8e830211cb0442bfcbf6a32300cb9cfa67f2b2176bd18f396979862003366923391511662003955565b8351928352820152a2565b91509750803b15620033f95784516306b091f960e01b8152336004820152602481018490529088908290604490829084905af18015620033ef577fa4489f0d65c1250dc8e830211cb0442bfcbf6a32300cb9cfa67f2b2176bd18f396979850620033dd575b5062003366565b620033e890620025fd565b38620033d6565b85513d8a823e3d90fd5b8780fd5b600c84528682206001810187905560060180546001600160a01b03191690556200332a565b855162461bcd60e51b815260048101849052600a60248201526910a932b6b0b4b73232b960b11b6044820152606490fd5b156200345b57565b60405162461bcd60e51b815260206004820152600a60248201526910b232b632b3b0ba37b960b11b6044820152606490fd5b620034a36200349d823362003c6e565b62003453565b6000818152601160209081526040808320549093926001600160a01b039182166200360b57838152600c8352848120918551620034e081620025e0565b8184541680825260ff600660018701549688850197885260028101548b8601526003810154606086015260048101546080860152600581015460a0860152015484811660c085015260a01c16151560e08301526200353e8762002836565b885191610917808401908482106001600160401b03831117620035f75791849391620035849362003e4386396001600160a01b0391821681529116602082015260400190565b039084f08015620035ed5792827fa9649a60c9bf950652949a7d6e3dca992b30cca610efc7df4469b15a8f778ddd969592620035e5948a961699838a8c95526011895220836001600160601b0360a01b825416179055511691519162003955565b51848152a290565b87513d85823e3d90fd5b634e487b7160e01b88526041600452602488fd5b845162461bcd60e51b815260048101849052600660248201526565786973747360d01b6044820152606490fd5b620036486200349d823362003c6e565b60008181526011602052604081205490916001600160a01b03918291908216908115620036c7575b501692833b15620036c357906024839283604051968794859363b1161b8b60e01b85521660048401525af1908115620036b75750620036ac5750565b6200269090620025fd565b604051903d90823e3d90fd5b8280fd5b620036d391506200348d565b3862003670565b919082018092116200182857565b15620036f057565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b811562002aa0570690565b818102929181159184041417156200182857565b919082039182116200182857565b156200377857565b60405162461bcd60e51b81526020600482015260056024820152642a2426181960d91b6044820152606490fd5b60018060a01b03169060405160408101908082106001600160401b0383111762001054576200381b916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af16200381462002bad565b91620038b6565b8051918215918483156200388f575b505050905015620038385750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b91938180945001031262002cd85782015190811515820362002cd55750803880846200382a565b919290156200391b5750815115620038cc575090565b3b15620038d65790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200392f5750805190602001fd5b60405162461bcd60e51b815260206004820152908190620008d5906024830190620024db565b6040516370a0823160e01b8082526001600160a01b0384811660048401819052602094909116929091908481602481875afa958615620021c257879160009762003a55575b5060405163a9059cbb60e01b878201526001600160a01b039190911660248083019190915260448083019390935291815285939290620039e890620039e16064826200262d565b86620037a5565b6040519485938492835260048301525afa918215620021c25760009262003a1d575b505062002690929162001e989162003762565b81819392933d831162003a4d575b62003a3781836200262d565b8101031262002cd55750518162001e9862003a0a565b503d62003a2b565b9150958582813d831162003a88575b62003a7081836200262d565b8101031262002cd5575051948690620039e86200399a565b503d62003a64565b1562003a9857565b60405162461bcd60e51b815260206004820152600e60248201526d10b7bbb732b927b832b930ba37b960911b6044820152606490fd5b1562003ad657565b60405162461bcd60e51b815260206004820152600e60248201526d085cd95b1988185c1c1c9bdd985b60921b6044820152606490fd5b6000828152600a6020526040902080546001600160a01b0319166001600160a01b0383161790557f5f05f4f4b46d943d34b887b4741055b5ab6decb7b4fd2670a98969d38a3640809062003b608362002836565b604080516001600160a01b03928316815292909116602083015290a2565b6001600160a01b03918216911680821462003bfd577f947bc3b5c76434e50335b9127e82fb1abb17b34d9380caf2a64cd8c6f43711849260609282600052600b60205260406000208160005260205262003be88260406000209060ff801983541691151516179055565b604051928352602083015215156040820152a1565b60405162461bcd60e51b815260206004820152600960248201526810b7b832b930ba37b960b91b6044820152606490fd5b60008181526002602052604090205462003c53906001600160a01b03161515620027e9565b6000908152600a60205260409020546001600160a01b031690565b906001600160a01b03808062003c848462002836565b1693169183831493841562003cbc575b50831562003ca3575b50505090565b62003cb19192935062003c2e565b161438808062003c9d565b909350600052600b60205260406000208260005260205260ff60406000205416923862003c94565b1562003cec57565b60405162461bcd60e51b815260206004820152600660248201526510a0a226a4a760d11b6044820152606490fd5b90916000918252600c602052604082206040519262003d3984620025e0565b60018060a01b039081835416855260018301549384602087015260028401549586604082015260038501549081606082015260e060ff600488015496876080850152600660058a0154998a60a0870152015490811660c085015260a01c161515910152829780881191821562003e37575b5050801562003e2c575b1562003dc257505050509192565b62003e1b9496509062003df562003ded8562003de78962003e1497969a989a62003762565b62002a95565b92836200374e565b905086811162003e205762003e0d905b809762003762565b946200374e565b90620036da565b909192565b5062003e0d8662003e05565b508581111562003db4565b119050388062003daa56fe6080604090808252346101a1578181610917803803809161002082856101cf565b8339810103126101a15761003f6020610038836101f2565b92016101f2565b600180546001600160a01b03199081163317909155600080549091166001600160a01b0393841690811782558451632c3e6f0f60e11b81529284166004840181905291939192602081602481855afa908115610197579083918691610158575b501692831561010d57505082541690813b1561010957829160248392865195869384926317066a5760e21b845260048401525af19081156100fe57506100ef575b505b5161071090816102078239f35b6100f8906101a6565b386100e0565b8351903d90823e3d90fd5b8280fd5b91508092503b1561010957829160248392865195869384926317066a5760e21b845260048401525af19081156100fe5750610149575b506100e2565b610152906101a6565b38610143565b9150506020813d821161018f575b81610173602093836101cf565b8101031261018b5761018583916101f2565b3861009f565b8480fd5b3d9150610166565b86513d87823e3d90fd5b600080fd5b6001600160401b0381116101b957604052565b634e487b7160e01b600052604160045260246000fd5b601f909101601f19168101906001600160401b038211908210176101b957604052565b51906001600160a01b03821682036101a15756fe608060408181526004918236101561001657600080fd5b600092833560e01c91826306b091f91461025157508163b1161b8b146100a357508063f77c47911461007b5763fc0c546a1461005157600080fd5b34610077578160031936011261007757905490516001600160a01b039091168152602090f35b5080fd5b503461007757816003193601126100775760015490516001600160a01b039091168152602090f35b9190503461024d5760209081600319360112610249576100c16105b8565b6001546001600160a01b039081163303610245578086541690835191876370a0823160e01b9485855230898601528785602481865afa94851561023b57829561020c575b50823b15610077576024849183895195869485936317066a5760e21b8552168d8401525af18015610202576101d4575b5084908754169260248551809581938252308a8301525afa9182156101ca578692610196575b5003610165578380f35b5162461bcd60e51b815291820152600d60248201526c3130b630b731b29032b93937b960991b604482015260649150fd5b9091508381813d83116101c3575b6101ae81836105ce565b810103126101be5751903861015b565b600080fd5b503d6101a4565b83513d88823e3d90fd5b67ffffffffffffffff81989298116101ef5784529584610135565b634e487b7160e01b825260418752602482fd5b85513d8a823e3d90fd5b9094508781813d8311610234575b61022481836105ce565b8101031261007757519338610105565b503d61021a565b87513d84823e3d90fd5b8580fd5b8380fd5b8280fd5b9291503461024957816003193601126102495761026c6105b8565b60015490936001600160a01b03929091602490813590851633036105b45784885416856370a0823160e01b988987521694858582015260209586828681865afa9182156105aa578b92610577575b5088518781019063a9059cbb60e01b8252828782015285604482015260448152608081019167ffffffffffffffff91808410838511176105655760c0810184811084821117610552578d528a84527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656460a0820152518e9182919082895af1903d15610544573d9081116105325761037492918e918d51906103648d601f19601f84011601836105ce565b815280928c3d92013e5b86610606565b805188811591821561050e575b50509050156104b9578690858b8b51958693849283528a8301525afa9182156104af578a9261047c575b50810390811161046a570361044257908291875496865195869384928352309083015288165afa9283156104395750849261040b575b5050156103ec575080f35b6bffffffffffffffffffffffff60a01b80911682556001541660015580f35b90809250813d8311610432575b61042281836105ce565b8101031261024d575138806103e1565b503d610418565b513d86823e3d90fd5b60059060649386519362461bcd60e51b8552840152820152642a2426181960d91b6044820152fd5b634e487b7160e01b8952601184528289fd5b9091508581813d83116104a8575b61049481836105ce565b810103126104a4575190386103ab565b8980fd5b503d61048a565b88513d8c823e3d90fd5b885162461bcd60e51b8152808701889052602a818701527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608490fd5b838092935001031261052e57870151801515810361052e57808838610381565b8b80fd5b634e487b7160e01b8e5260418952878efd5b50906103749160609061036e565b50634e487b7160e01b8f5260418a52888ffd5b634e487b7160e01b8f5260418a52888ffd5b9091508681813d83116105a3575b61058f81836105ce565b8101031261059f575190386102ba565b8a80fd5b503d610585565b89513d8d823e3d90fd5b8780fd5b600435906001600160a01b03821682036101be57565b90601f8019910116810190811067ffffffffffffffff8211176105f057604052565b634e487b7160e01b600052604160045260246000fd5b91929015610668575081511561061a575090565b3b156106235790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b82519091501561067b5750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106106c1575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061069e56fea26469706673582212206f06f990f66fdab7bd5d8e4062bba801616e3535c34e2a48e194a7359d24d2f664736f6c63430008130033a2646970667358221220f1ccec04acfad11186d722db6aa4db095e41461d3744451eb0d7d70a77b8663164736f6c63430008130033000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000017566f74696e67546f6b656e56657374696e67506c616e7300000000000000000000000000000000000000000000000000000000000000000000000000000000045654565000000000000000000000000000000000000000000000000000000000