ETH Price: $2,405.36 (-5.52%)

Token

Pepes DaVinci (PEVINCI)
 

Overview

Max Total Supply

400 PEVINCI

Holders

1

Transfers

-
0

Market

Onchain Market Cap

-

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
UI Multiplier changes (based on UIMultiplierUpdated event). Displayed token amounts are scaled by the active multiplier.
Transaction Hash Block
Age
Multiplier Status
# Exchange Pair Price  24H Volume % Volume
Source Code Verified Exact Match

Contract Name

MyERC404Experiment

Compiler Version
v0.8.28+commit.7893614a
Optimization Enabled
Yes with 200 runs
Other Settings
default evmVersion
License
MIT
Contract Source Code (Solidity)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint8","name":"decimals_","type":"uint8"},{"internalType":"uint256","name":"maxTotalSupplyERC721_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"AlreadyExists","type":"error"},{"inputs":[],"name":"DecimalsTooLow","type":"error"},{"inputs":[],"name":"InsufficientAllowance","type":"error"},{"inputs":[],"name":"InvalidApproval","type":"error"},{"inputs":[],"name":"InvalidExemption","type":"error"},{"inputs":[],"name":"InvalidOperator","type":"error"},{"inputs":[],"name":"InvalidRecipient","type":"error"},{"inputs":[],"name":"InvalidSender","type":"error"},{"inputs":[],"name":"InvalidSigner","type":"error"},{"inputs":[],"name":"InvalidSpender","type":"error"},{"inputs":[],"name":"InvalidTokenId","type":"error"},{"inputs":[],"name":"MintLimitReached","type":"error"},{"inputs":[],"name":"NotFound","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"inputs":[],"name":"OwnedIndexOverflow","type":"error"},{"inputs":[],"name":"PermitDeadlineExpired","type":"error"},{"inputs":[],"name":"QueueEmpty","type":"error"},{"inputs":[],"name":"QueueFull","type":"error"},{"inputs":[],"name":"QueueOutOfBounds","type":"error"},{"inputs":[],"name":"RecipientIsERC721TransferExempt","type":"error"},{"inputs":[],"name":"Unauthorized","type":"error"},{"inputs":[],"name":"UnsafeRecipient","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Approval","type":"event"},{"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":"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":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"Transfer","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":"amount","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender_","type":"address"},{"internalType":"uint256","name":"valueOrId_","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseCID","outputs":[{"internalType":"string","name":"","type":"string"}],"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":"value_","type":"uint256"}],"name":"erc20Approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"erc20BalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"erc20TotalSupply","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":"value_","type":"uint256"}],"name":"erc20TransferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender_","type":"address"},{"internalType":"uint256","name":"id_","type":"uint256"}],"name":"erc721Approve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"erc721BalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"erc721TotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"target_","type":"address"}],"name":"erc721TransferExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"id_","type":"uint256"}],"name":"erc721TransferFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"getApproved","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getERC721QueueLength","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"start_","type":"uint256"},{"internalType":"uint256","name":"count_","type":"uint256"}],"name":"getERC721TokensInQueue","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"getTokenCoordinateRanges","outputs":[{"components":[{"internalType":"uint256","name":"chunkID","type":"uint256"},{"internalType":"uint256","name":"startRow","type":"uint256"},{"internalType":"uint256","name":"startColumn","type":"uint256"},{"internalType":"uint256","name":"endRow","type":"uint256"},{"internalType":"uint256","name":"endColumn","type":"uint256"}],"internalType":"struct MyERC404Experiment.CoordinateRange[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokenId","type":"uint256"}],"name":"getTokenIDCoordinates","outputs":[{"components":[{"internalType":"uint256","name":"chunkID","type":"uint256"},{"internalType":"uint256","name":"row","type":"uint256"},{"internalType":"uint256","name":"column","type":"uint256"}],"internalType":"struct MyERC404Experiment.TokenInfo","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"}],"name":"isApprovedForAll","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minted","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"}],"name":"owned","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"count","type":"uint256"}],"name":"ownerMintBatch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"id_","type":"uint256"}],"name":"ownerOf","outputs":[{"internalType":"address","name":"erc721Owner","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner_","type":"address"},{"internalType":"address","name":"spender_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"},{"internalType":"uint256","name":"deadline_","type":"uint256"},{"internalType":"uint8","name":"v_","type":"uint8"},{"internalType":"bytes32","name":"r_","type":"bytes32"},{"internalType":"bytes32","name":"s_","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"id_","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":"id_","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":"account_","type":"address"},{"internalType":"bool","name":"value_","type":"bool"}],"name":"setERC721TransferExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"state_","type":"bool"}],"name":"setSelfERC721TransferExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_uniswapV3PoolAddress","type":"address"}],"name":"setUniswapV3PoolAddress","outputs":[],"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":"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":[],"name":"tradingActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from_","type":"address"},{"internalType":"address","name":"to_","type":"address"},{"internalType":"uint256","name":"value_","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV3PoolAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"units","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
6101006040526011805461ffff60a01b1916905534801561001e575f5ffd5b50604051614b86380380614b8683398101604081905261003d916112c0565b838383338061006657604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b61006f81610105565b50600361007c84826113c6565b50600461008983826113c6565b5060128160ff1610156100af576040516398790fd560e01b815260040160405180910390fd5b60ff811660808190526100c390600a611577565b60a0524660c0526100d2610154565b60e052506100e5915033905060016101ed565b6100fc3360a051836100f7919061158c565b61025b565b50505050611681565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600360405161018591906115a3565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b0382166102145760405163a41e3d3f60e01b815260040160405180910390fd5b801561022857610223826102ce565b610231565b610231826102fa565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b6001600160a01b03821661028257604051634e46966960e11b815260040160405180910390fd5b60a0516102919061019061158c565b8160055461029f9190611614565b11156102be5760405163303b682f60e01b815260040160405180910390fd5b6102c95f838361036d565b505050565b6001600160a01b0381165f908152600c602052604090205480156102f6576102f68282610433565b5050565b60a0515f9061031d836001600160a01b03165f9081526007602052604090205490565b6103279190611627565b90505f610348836001600160a01b03165f908152600c602052604090205490565b90505f6103558284611646565b905080156103675761036784826105d8565b50505050565b6011545f90600160a01b900460ff1615801561039657505f546001600160a01b03858116911614155b80156103af57505f546001600160a01b03848116911614155b15610420576011546001600160a01b038581169116148015906103e057506011546001600160a01b03848116911614155b6104205760405162461bcd60e51b81526020600482015260116024820152702a3930b234b733903737ba1037b832b71760791b604482015260640161005d565b61042b8484846107fe565b949350505050565b6001600160a01b03821661045a57604051636edaef2f60e11b815260040160405180910390fd5b805f036104a95760405162461bcd60e51b815260206004820152601960248201527f5175616e74697479206d757374206265206e6f6e2d7a65726f00000000000000604482015260640161005d565b5f816001600160401b038111156104c2576104c2611223565b6040519080825280602002602001820160405280156104eb578160200160208202803683370190505b506001600160a01b0384165f908152600c60205260408120549192505b83811015610593575f8161051d600185611646565b6105279190611646565b6001600160a01b0387165f908152600c60205260408120805492935090918390811061055557610555611659565b905f5260205f20015490508085848151811061057357610573611659565b6020908102919091010152610589600182610ad4565b5050600101610508565b5060018311156105ae576105a984803085610b3c565b610367565b6103678430845f815181106105c5576105c5611659565b6020026020010151610e7060201b60201c565b6001600160a01b0382166106225760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b604482015260640161005d565b805f036106715760405162461bcd60e51b815260206004820152601960248201527f5175616e74697479206d757374206265206e6f6e2d7a65726f00000000000000604482015260640161005d565b5f6106956001546001600160801b03808216600160801b9092048116919091031690565b9050818110156106e75760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820746f6b656e7320696e2062616e6b00000000000000604482015260640161005d565b5f826001600160401b0381111561070057610700611223565b604051908082528060200260200182016040528015610729578160200160208202803683370190505b5090505f5b838110156107d2575f6107416001611029565b5f818152600b60205260409020549091506001600160a01b03163081146107aa5760405162461bcd60e51b815260206004820152601560248201527f546f6b656e20616c726561647920636c61696d65640000000000000000000000604482015260640161005d565b818484815181106107bd576107bd611659565b6020908102919091010152505060010161072e565b50826001036107f2576105a93085835f815181106105c5576105c5611659565b61036730808684610b3c565b6001600160a01b038381165f9081526007602052604080822054928516825281205490919061082e8686866110b6565b5f6108388761115c565b90505f6108448761115c565b90508180156108505750805b610ac65781156108b0575f60a051846108699190611627565b60a0516001600160a01b038a165f9081526007602052604090205461088e9190611627565b6108989190611646565b905080156108aa576108aa88826105d8565b50610ac6565b80156109055760a0516001600160a01b0389165f9081526007602052604081205490916108dc91611627565b60a0516108e99087611627565b6108f39190611646565b905080156108aa576108aa8982610433565b5f60a051876109149190611627565b90508015610a06575f816001600160401b0381111561093557610935611223565b60405190808252806020026020018201604052801561095e578160200160208202803683370190505b506001600160a01b038b165f908152600c60205260408120549192505b838110156109f6575f81610990600185611646565b61099a9190611646565b6001600160a01b038e165f908152600c60205260409020805491925090829081106109c7576109c7611659565b905f5260205f2001548483815181106109e2576109e2611659565b60209081029190910101525060010161097b565b50610a038b808c85610b3c565b50505b60a0515f90610a298b6001600160a01b03165f9081526007602052604090205490565b610a339190611627565b60a051610a409088611627565b610a4a9190611646565b905081811115610a6757610a678a610a628484611646565b610433565b5f60a05186610a769190611627565b60a0516001600160a01b038c165f90815260076020526040902054610a9b9190611627565b610aa59190611646565b905082811115610ac257610ac28a610abd8584611646565b6105d8565b5050505b506001979650505050505050565b81546001600160801b038082165f190191600160801b9004811690821603610b0f57604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03165f81815260018401602052604090209190915581546001600160801b031916179055565b6001600160a01b03831615801590610b5c57506001600160a01b03821615155b610b9a5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015260640161005d565b5f836001600160a01b0316856001600160a01b03161480610bdf57506001600160a01b038085165f908152600a602090815260408083209389168352929052205460ff165b82519091505f5b81811015610e4d575f848281518110610c0157610c01611659565b60200260200101519050866001600160a01b0316610c248261109c60201b60201c565b6001600160a01b031614610c7a5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e206e6f74206f776e65642062792066726f6d206164647265737300604482015260640161005d565b83158015610ca157505f818152600960205260409020546001600160a01b03898116911614155b15610cdf5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b604482015260640161005d565b5f81815260096020908152604080832080546001600160a01b03191690556001600160a01b038a168352600c909152812080545f198101908110610d2557610d25611659565b905f5260205f2001549050818114610d8d575f828152600b602052604081205460a01c6001600160a01b038a165f908152600c602052604090208054919250839183908110610d7657610d76611659565b5f91825260209091200155610d8b8282611190565b505b6001600160a01b0388165f908152600c60205260409020805480610db357610db361166d565b600190038181905f5260205f20015f90559055610dd682886111f560201b60201c565b6001600160a01b0387165f818152600c602090815260408220805460018101825581845291832090910185905591905254610e159083905f1901611190565b81876001600160a01b0316896001600160a01b03165f516020614b665f395f51905f5260405160405180910390a45050600101610be6565b506001600160a01b039093165f908152600f602052604090209290925550505050565b6001600160a01b03831615610f71575f81815260096020908152604080832080546001600160a01b03191690556001600160a01b0386168352600c90915281208054610ebe90600190611646565b81548110610ece57610ece611659565b905f5260205f2001549050818114610f36575f828152600b602052604081205460a01c6001600160a01b0386165f908152600c602052604090208054919250839183908110610f1f57610f1f611659565b5f91825260209091200155610f348282611190565b505b6001600160a01b0384165f908152600c60205260409020805480610f5c57610f5c61166d565b600190038181905f5260205f20015f90559055505b6001600160a01b03821615610fe7575f818152600b6020908152604080832080546001600160a01b0319166001600160a01b038716908101909155808452600c83529083208054600181810183558286529385200185905592529054610fe2918391610fdd9190611646565b611190565b610ff6565b5f818152600b60205260408120555b80826001600160a01b0316846001600160a01b03165f516020614b665f395f51905f5260405160405180910390a4505050565b80545f906001600160801b0380821691600160801b9004168103611060576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181165f908152600185810160205260408220805492905585546001600160801b0319169301909116919091179092555090565b5f908152600b60205260409020546001600160a01b031690565b6001600160a01b0383166110e0578060055f8282546110d59190611614565b9091555061110d9050565b6001600160a01b0383165f9081526007602052604081208054839290611107908490611646565b90915550505b6001600160a01b038083165f81815260076020526040908190208054850190555190918516905f516020614b665f395f51905f529061114f9085815260200190565b60405180910390a3505050565b5f6001600160a01b038216158061118a57506001600160a01b0382165f908152600d602052604090205460ff165b92915050565b5f828152600b60205260409020546001600160601b038211156111c657604051633f2cd0e360e21b815260040160405180910390fd5b5f928352600b60205260409092206001600160a01b039290921660a09190911b6001600160a01b031916019055565b5f918252600b602052604090912080546001600160a01b0319166001600160a01b0392909216919091019055565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112611246575f5ffd5b81516001600160401b0381111561125f5761125f611223565b604051601f8201601f19908116603f011681016001600160401b038111828210171561128d5761128d611223565b6040528181528382016020018510156112a4575f5ffd5b8160208501602083015e5f918101602001919091529392505050565b5f5f5f5f608085870312156112d3575f5ffd5b84516001600160401b038111156112e8575f5ffd5b6112f487828801611237565b602087015190955090506001600160401b03811115611311575f5ffd5b61131d87828801611237565b935050604085015160ff81168114611333575f5ffd5b6060959095015193969295505050565b600181811c9082168061135757607f821691505b60208210810361137557634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156102c957805f5260205f20601f840160051c810160208510156113a05750805b601f840160051c820191505b818110156113bf575f81556001016113ac565b5050505050565b81516001600160401b038111156113df576113df611223565b6113f3816113ed8454611343565b8461137b565b6020601f821160018114611425575f831561140e5750848201515b5f19600385901b1c1916600184901b1784556113bf565b5f84815260208120601f198516915b828110156114545787850151825560209485019460019092019101611434565b508482101561147157868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156114cf578085048111156114b3576114b3611480565b60018416156114c157908102905b60019390931c928002611498565b935093915050565b5f826114e55750600161118a565b816114f157505f61118a565b816001811461150757600281146115115761152d565b600191505061118a565b60ff84111561152257611522611480565b50506001821b61118a565b5060208310610133831016604e8410600b8410161715611550575081810a61118a565b61155c5f198484611494565b805f190482111561156f5761156f611480565b029392505050565b5f61158560ff8416836114d7565b9392505050565b808202811582820484141761118a5761118a611480565b5f5f83546115b081611343565b6001821680156115c757600181146115dc57611609565b60ff1983168652811515820286019350611609565b865f5260205f205f5b83811015611601578154888201526001909101906020016115e5565b505081860193505b509195945050505050565b8082018082111561118a5761118a611480565b5f8261164157634e487b7160e01b5f52601260045260245ffd5b500490565b8181038181111561118a5761118a611480565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffd5b60805160a05160c05160e0516134656117015f395f6109b301525f61098301525f81816105130152818161169001528181611f4801528181611f8b01528181611ff601528181612020015281816120670152818161219d015281816121c70152818161221901528181612240015261230601525f6103af01526134655ff3fe608060405234801561000f575f5ffd5b506004361061028c575f3560e01c80638da5cb5b11610161578063c6e672b9116100ca578063dd62ed3e11610084578063dd62ed3e14610639578063dd63769914610663578063dfabc03314610676578063e985e9c514610689578063f2fde38b146106b6578063f780bc1a146106c9575f5ffd5b8063c6e672b9146105d2578063c87b56dd146105e5578063c9567bf9146105f8578063d25a726514610600578063d505accf14610613578063d96ca0b914610626575f5ffd5b8063a9059cbb1161011b578063a9059cbb14610548578063b1ab93171461055b578063b3f9ea341461057b578063b88d4fde146105a3578063bbc0c742146105b6578063c5ab3ba6146105ca575f5ffd5b80638da5cb5b146104c35780638dec3346146104d3578063902609ed146104f357806395d89b4114610506578063976a84351461050e578063a22cb46514610535575f5ffd5b8063313ce567116102035780636352211e116101bd5780636352211e1461044f57806370a0823114610462578063715018a6146104815780637ecebe001461048957806389fb4c66146104a85780638a696e50146104b0575f5ffd5b8063313ce567146103aa57806332db027b146103e35780633644e5151461041857806342842e0e146104205780634d966072146104335780634f02c42014610446575f5ffd5b806309674eb01161025457806309674eb01461035657806309f0ef651461035e5780630cb7a58e1461037157806318160ddd1461038657806323b872dd1461038f57806325fdfaa2146103a2575f5ffd5b806301ffc9a71461029057806302519da3146102b857806306fdde03146102ee578063081812fc14610303578063095ea7b314610343575b5f5ffd5b6102a361029e366004612c0d565b6106dc565b60405190151581526020015b60405180910390f35b6102e06102c6366004612c3e565b6001600160a01b03165f9081526007602052604090205490565b6040519081526020016102af565b6102f6610712565b6040516102af9190612c85565b61032b610311366004612c97565b60096020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b6102a3610351366004612cae565b61079e565b6102e06107d0565b6102a361036c366004612c3e565b6107e0565b61038461037f366004612c3e565b610810565b005b6102e060055481565b6102a361039d366004612cd6565b61088d565b6102f66108a1565b6103d17f000000000000000000000000000000000000000000000000000000000000000081565b60405160ff90911681526020016102af565b6103f66103f1366004612c97565b6108bd565b60408051825181526020808401519082015291810151908201526060016102af565b6102e0610980565b61038461042e366004612cd6565b6109d5565b6102a3610441366004612cae565b6109f4565b6102e060065481565b61032b61045d366004612c97565b610a7f565b6102e0610470366004612c3e565b60076020525f908152604090205481565b610384610ae3565b6102e0610497366004612c3e565b600e6020525f908152604090205481565b6005546102e0565b6103846104be366004612d1f565b610af6565b5f546001600160a01b031661032b565b6104e66104e1366004612c3e565b610b03565b6040516102af9190612d38565b60115461032b906001600160a01b031681565b6102f6610daa565b6102e07f000000000000000000000000000000000000000000000000000000000000000081565b610384610543366004612daa565b610db7565b6102a3610556366004612cae565b610e49565b61056e610569366004612c3e565b610e5c565b6040516102af9190612ddb565b6102e0610589366004612c3e565b6001600160a01b03165f908152600c602052604090205490565b6103846105b1366004612e26565b610ec5565b6011546102a390600160a01b900460ff1681565b6006546102e0565b6103846105e0366004612daa565b610fab565b6102f66105f3366004612c97565b610fc1565b6103846110ed565b61038461060e366004612c97565b611154565b610384610621366004612f03565b61126e565b6102a3610634366004612cd6565b6114a5565b6102e0610647366004612f70565b600860209081525f928352604080842090915290825290205481565b610384610671366004612cd6565b611561565b610384610684366004612cae565b6116bf565b6102a3610697366004612f70565b600a60209081525f928352604080842090915290825290205460ff1681565b6103846106c4366004612c3e565b611781565b61056e6106d7366004612f98565b6117bb565b5f6001600160e01b0319821663caf91ff560e01b148061070c57506001600160e01b031982166301ffc9a760e01b145b92915050565b6003805461071f90612fb8565b80601f016020809104026020016040519081016040528092919081815260200182805461074b90612fb8565b80156107965780601f1061076d57610100808354040283529160200191610796565b820191905f5260205f20905b81548152906001019060200180831161077957829003601f168201915b505050505081565b5f5f1982146107b6576107b183836116bf565b6107c7565b6107c083836109f4565b905061070c565b50600192915050565b5f6107db6001611857565b905090565b5f6001600160a01b038216158061070c5750506001600160a01b03165f908152600d602052604090205460ff1690565b610818611875565b601154600160a81b900460ff161561086b5760405162461bcd60e51b81526020600482015260116024820152702837b7b61030b63932b0b23c9039b2ba1760791b60448201526064015b60405180910390fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b5f6108998484846118a1565b949350505050565b6040518060800160405280604381526020016133ed6043913981565b6108de60405180606001604052805f81526020015f81526020015f81525090565b5f821180156108ef57506006548211155b6109325760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610862565b815f61093f600183613004565b90505f61094d605e8361302b565b90505f61095b605e8461303e565b6040805160608101825295865260208601939093529184019190915250909392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000046146109b0576107db61195f565b507f000000000000000000000000000000000000000000000000000000000000000090565b6109ef83838360405180602001604052805f815250610ec5565b505050565b5f6001600160a01b038316610a1c57604051635461585f60e01b815260040160405180910390fd5b335f8181526008602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b5f818152600b60205260409020546001600160a01b031660018201610ab7576040516307ed98ed60e31b815260040160405180910390fd5b6001600160a01b038116610ade5760405163c5723b5160e01b815260040160405180910390fd5b919050565b610aeb611875565b610af45f6119f8565b565b610b003382611a47565b50565b6001600160a01b0381165f908152600c60209081526040808320805482518185028101850190935280835260609493830182828015610b5f57602002820191905f5260205f20905b815481526020019060010190808311610b4b575b505050505090505f815190505f8167ffffffffffffffff811115610b8557610b85612e12565b604051908082528060200260200182016040528015610be357816020015b610bd06040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b815260200190600190039081610ba35790505b5090505f805b83811015610d9f575f858281518110610c0457610c04613051565b60209081029190910101519050805f610c1e600183613004565b90505f610c2c605e8361302b565b90505f610c3a605e8461303e565b905081815b8a610c4b896001613065565b108015610c9f57508b8881518110610c6557610c65613051565b60200260200101516001610c799190613065565b8c610c858a6001613065565b81518110610c9557610c95613051565b6020026020010151145b15610d33575f8c610cb18a6001613065565b81518110610cc157610cc1613051565b602002602001015190505f605e600183610cdb9190613004565b610ce5919061302b565b9050838114610cf5575050610d33565b89610cff81613078565b9a505f9050610d0f600184613004565b9050610d1c605e8261302b565b9450610d29605e8261303e565b9350505050610c3f565b6040518060a00160405280878152602001858152602001848152602001838152602001828152508a8a81518110610d6c57610d6c613051565b60200260200101819052508880610d8290613078565b9950508780610d9090613078565b98505050505050505050610be9565b508152949350505050565b6004805461071f90612fb8565b6001600160a01b038216610dde5760405163ccea9e6f60e01b815260040160405180910390fd5b335f818152600a602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f610e553384846118a1565b9392505050565b6001600160a01b0381165f908152600c6020908152604091829020805483518184028101840190945280845260609392830182828015610eb957602002820191905f5260205f20905b815481526020019060010190808311610ea5575b50505050509050919050565b5f198203610ee6576040516307ed98ed60e31b815260040160405180910390fd5b610ef184848461088d565b506001600160a01b0383163b15801590610f875750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a0290610f3a903390899088908890600401613090565b6020604051808303815f875af1158015610f56573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7a91906130cc565b6001600160e01b03191614155b15610fa557604051633da6393160e01b815260040160405180910390fd5b50505050565b610fb3611875565b610fbd8282611a47565b5050565b60605f82118015610fd457506006548211155b6110175760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610862565b5f611021836108bd565b90505f6040518060800160405280604381526020016133ed60439139825161104890611ab5565b6040516020016110599291906130fe565b60405160208183030381529060405290505f611077835f0151611ab5565b82611084855f0151611ab5565b6110918660200151611ab5565b61109e8760400151611ab5565b6040516020016110b2959493929190613127565b6040516020818303038152906040529050806040516020016110d491906132eb565b6040516020818303038152906040529350505050919050565b6110f5611875565b601154600160a01b900460ff161561113f5760405162461bcd60e51b815260206004820152600d60248201526c2a3930b234b7339037b832b71760991b6044820152606401610862565b6011805460ff60a01b1916600160a01b179055565b61115c611875565b6101908160065461116d9190613065565b11156111b35760405162461bcd60e51b81526020600482015260156024820152742a37b5b2b7103634b6b4ba1032bc31b2b2b232b21760591b6044820152606401610862565b5f60065460016111c39190613065565b90505f5b82811015611253575f6111da8284613065565b90506111e68130611b45565b305f818152600c6020908152604082208054600181810183558285529284200185905592909152905461122491839161121f9190613004565b611b73565b61122f600182611bdd565b604051819030905f905f5160206133cd5f395f51905f52908290a4506001016111c7565b508160065f8282546112659190613065565b90915550505050565b4284101561128f576040516305787bdf60e01b815260040160405180910390fd5b5f1985146112b0576040516303e7c1bd60e31b815260040160405180910390fd5b6001600160a01b0386166112d757604051635461585f60e01b815260040160405180910390fd5b5f60016112e2610980565b6001600160a01b038a81165f818152600e602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156113ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116158061141f5750876001600160a01b0316816001600160a01b031614155b1561143d57604051632057875960e21b815260040160405180910390fd5b6001600160a01b039081165f9081526008602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b5f6001600160a01b0384166114cd57604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0383166114f457604051634e46966960e11b815260040160405180910390fd5b6001600160a01b0384165f9081526008602090815260408083203384529091529020545f19811461154d576115298382613004565b6001600160a01b0386165f9081526008602090815260408083203384529091529020555b6115588585856118a1565b95945050505050565b6001600160a01b03831661158857604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0382166115af57604051634e46966960e11b815260040160405180910390fd5b5f818152600b60205260409020546001600160a01b038481169116146115e7576040516282b42960e81b815260040160405180910390fd5b336001600160a01b0384161480159061162357506001600160a01b0383165f908152600a6020908152604080832033845290915290205460ff16155b801561164557505f818152600960205260409020546001600160a01b03163314155b15611662576040516282b42960e81b815260040160405180910390fd5b61166b826107e0565b1561168957604051635ce7539760e01b815260040160405180910390fd5b6116b483837f0000000000000000000000000000000000000000000000000000000000000000611c4d565b6109ef838383611cf3565b5f818152600b60205260409020546001600160a01b031633811480159061170957506001600160a01b0381165f908152600a6020908152604080832033845290915290205460ff16155b15611726576040516282b42960e81b815260040160405180910390fd5b5f8281526009602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b611789611875565b6001600160a01b0381166117b257604051631e4fbdf760e01b81525f6004820152602401610862565b610b00816119f8565b60605f8267ffffffffffffffff8111156117d7576117d7612e12565b604051908082528060200260200182016040528015611800578160200160208202803683370190505b509050835b61180f8486613065565b81101561184f57611821600182611e96565b8261182c8784613004565b8151811061183c5761183c613051565b6020908102919091010152600101611805565b509392505050565b546001600160801b03808216600160801b9092048116919091031690565b5f546001600160a01b03163314610af45760405163118cdaa760e01b8152336004820152602401610862565b6011545f90600160a01b900460ff161580156118ca57505f546001600160a01b03858116911614155b80156118e357505f546001600160a01b03848116911614155b15611954576011546001600160a01b0385811691161480159061191457506011546001600160a01b03848116911614155b6119545760405162461bcd60e51b81526020600482015260116024820152702a3930b234b733903737ba1037b832b71760791b6044820152606401610862565b610899848484611ee6565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6003604051611990919061331c565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216611a6e5760405163a41e3d3f60e01b815260040160405180910390fd5b8015611a8257611a7d826122c0565b611a8b565b611a8b826122e8565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b60605f611ac18361236b565b60010190505f8167ffffffffffffffff811115611ae057611ae0612e12565b6040519080825280601f01601f191660200182016040528015611b0a576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611b1457509392505050565b5f918252600b602052604090912080546001600160a01b0319166001600160a01b0392909216919091019055565b5f828152600b60205260409020546bffffffffffffffffffffffff821115611bae57604051633f2cd0e360e21b815260040160405180910390fd5b5f928352600b60205260409092206001600160a01b039290921660a09190911b6001600160a01b031916019055565b81546001600160801b03600160801b820481169181166001830190911603611c1857604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b038082165f90815260018086016020526040909120939093558354919092018216600160801b029116179055565b6001600160a01b038316611c77578060055f828254611c6c9190613065565b90915550611ca49050565b6001600160a01b0383165f9081526007602052604081208054839290611c9e908490613004565b90915550505b6001600160a01b038083165f81815260076020526040908190208054850190555190918516905f5160206133cd5f395f51905f5290611ce69085815260200190565b60405180910390a3505050565b6001600160a01b03831615611df4575f81815260096020908152604080832080546001600160a01b03191690556001600160a01b0386168352600c90915281208054611d4190600190613004565b81548110611d5157611d51613051565b905f5260205f2001549050818114611db9575f828152600b602052604081205460a01c6001600160a01b0386165f908152600c602052604090208054919250839183908110611da257611da2613051565b5f91825260209091200155611db78282611b73565b505b6001600160a01b0384165f908152600c60205260409020805480611ddf57611ddf6133b8565b600190038181905f5260205f20015f90559055505b6001600160a01b03821615611e5457611e0d8183611b45565b6001600160a01b0382165f818152600c60209081526040822080546001818101835582855292842001859055929091529054611e4f91839161121f9190613004565b611e63565b5f818152600b60205260408120555b80826001600160a01b0316846001600160a01b03165f5160206133cd5f395f51905f5260405160405180910390a4505050565b5f611ea083611857565b8210611ebf5760405163580821e760e01b815260040160405180910390fd5b5081546001600160801b039081168201165f90815260018301602052604090205492915050565b6001600160a01b038381165f90815260076020526040808220549285168252812054909190611f16868686611c4d565b5f611f20876107e0565b90505f611f2c876107e0565b9050818015611f385750805b6122b2578115611fd2575f611f6d7f00000000000000000000000000000000000000000000000000000000000000008561302b565b6001600160a01b0389165f90815260076020526040902054611fb0907f00000000000000000000000000000000000000000000000000000000000000009061302b565b611fba9190613004565b90508015611fcc57611fcc8882612442565b506122b2565b8015612061576001600160a01b0388165f9081526007602052604081205461201b907f00000000000000000000000000000000000000000000000000000000000000009061302b565b6120457f00000000000000000000000000000000000000000000000000000000000000008761302b565b61204f9190613004565b90508015611fcc57611fcc8982612656565b5f61208c7f00000000000000000000000000000000000000000000000000000000000000008861302b565b9050801561217f575f8167ffffffffffffffff8111156120ae576120ae612e12565b6040519080825280602002602001820160405280156120d7578160200160208202803683370190505b506001600160a01b038b165f908152600c60205260408120549192505b8381101561216f575f81612109600185613004565b6121139190613004565b6001600160a01b038e165f908152600c602052604090208054919250908290811061214057612140613051565b905f5260205f20015484838151811061215b5761215b613051565b6020908102919091010152506001016120f4565b5061217c8b8c8c856127e0565b50505b6001600160a01b0389165f908152600760205260408120546121c2907f00000000000000000000000000000000000000000000000000000000000000009061302b565b6121ec7f00000000000000000000000000000000000000000000000000000000000000008861302b565b6121f69190613004565b905081811115612213576122138a61220e8484613004565b612656565b5f61223e7f00000000000000000000000000000000000000000000000000000000000000008761302b565b7f000000000000000000000000000000000000000000000000000000000000000061227d8c6001600160a01b03165f9081526007602052604090205490565b612287919061302b565b6122919190613004565b9050828111156122ae576122ae8a6122a98584613004565b612442565b5050505b506001979650505050505050565b6001600160a01b0381165f908152600c60205260409020548015610fbd57610fbd8282612656565b6001600160a01b0381165f9081526007602052604081205461232b907f00000000000000000000000000000000000000000000000000000000000000009061302b565b90505f61234c836001600160a01b03165f908152600c602052604090205490565b90505f6123598284613004565b90508015610fa557610fa58482612442565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106123a95772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106123d5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106123f357662386f26fc10000830492506010015b6305f5e100831061240b576305f5e100830492506008015b612710831061241f57612710830492506004015b60648310612431576064830492506002015b600a831061070c5760010192915050565b6001600160a01b03821661248c5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610862565b805f036124d75760405162461bcd60e51b81526020600482015260196024820152785175616e74697479206d757374206265206e6f6e2d7a65726f60381b6044820152606401610862565b5f6124e26001611857565b9050818110156125345760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820746f6b656e7320696e2062616e6b000000000000006044820152606401610862565b5f8267ffffffffffffffff81111561254e5761254e612e12565b604051908082528060200260200182016040528015612577578160200160208202803683370190505b5090505f5b83811015612618575f61258f6001612b1d565b5f818152600b60205260409020549091506001600160a01b03163081146125f05760405162461bcd60e51b8152602060048201526015602482015274151bdad95b88185b1c9958591e4818db185a5b5959605a1b6044820152606401610862565b8184848151811061260357612603613051565b6020908102919091010152505060010161257c565b508260010361264a576126453085835f8151811061263857612638613051565b6020026020010151611cf3565b610fa5565b610fa5303086846127e0565b6001600160a01b03821661267d57604051636edaef2f60e11b815260040160405180910390fd5b805f036126c85760405162461bcd60e51b81526020600482015260196024820152785175616e74697479206d757374206265206e6f6e2d7a65726f60381b6044820152606401610862565b5f8167ffffffffffffffff8111156126e2576126e2612e12565b60405190808252806020026020018201604052801561270b578160200160208202803683370190505b506001600160a01b0384165f908152600c60205260408120549192505b838110156127b3575f8161273d600185613004565b6127479190613004565b6001600160a01b0387165f908152600c60205260408120805492935090918390811061277557612775613051565b905f5260205f20015490508085848151811061279357612793613051565b60209081029190910101526127a9600182612b90565b5050600101612728565b5060018311156127c957612645848530856127e0565b610fa58430845f8151811061263857612638613051565b6001600160a01b0383161580159061280057506001600160a01b03821615155b61283e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610862565b5f836001600160a01b0316856001600160a01b0316148061288357506001600160a01b038085165f908152600a602090815260408083209389168352929052205460ff165b82519091505f5b81811015612afa575f8482815181106128a5576128a5613051565b60200260200101519050866001600160a01b03166128d7825f908152600b60205260409020546001600160a01b031690565b6001600160a01b03161461292d5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e206e6f74206f776e65642062792066726f6d2061646472657373006044820152606401610862565b8315801561295457505f818152600960205260409020546001600160a01b03898116911614155b156129925760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610862565b5f81815260096020908152604080832080546001600160a01b03191690556001600160a01b038a168352600c909152812080545f1981019081106129d8576129d8613051565b905f5260205f2001549050818114612a40575f828152600b602052604081205460a01c6001600160a01b038a165f908152600c602052604090208054919250839183908110612a2957612a29613051565b5f91825260209091200155612a3e8282611b73565b505b6001600160a01b0388165f908152600c60205260409020805480612a6657612a666133b8565b600190038181905f5260205f20015f90559055612a838288611b45565b6001600160a01b0387165f818152600c602090815260408220805460018101825581845291832090910185905591905254612ac29083905f1901611b73565b81876001600160a01b0316896001600160a01b03165f5160206133cd5f395f51905f5260405160405180910390a4505060010161288a565b506001600160a01b039093165f908152600f602052604090209290925550505050565b80545f906001600160801b0380821691600160801b9004168103612b54576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181165f908152600185810160205260408220805492905585546001600160801b0319169301909116919091179092555090565b81546001600160801b038082165f190191600160801b9004811690821603612bcb57604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03165f81815260018401602052604090209190915581546001600160801b031916179055565b6001600160e01b031981168114610b00575f5ffd5b5f60208284031215612c1d575f5ffd5b8135610e5581612bf8565b80356001600160a01b0381168114610ade575f5ffd5b5f60208284031215612c4e575f5ffd5b610e5582612c28565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e556020830184612c57565b5f60208284031215612ca7575f5ffd5b5035919050565b5f5f60408385031215612cbf575f5ffd5b612cc883612c28565b946020939093013593505050565b5f5f5f60608486031215612ce8575f5ffd5b612cf184612c28565b9250612cff60208501612c28565b929592945050506040919091013590565b80358015158114610ade575f5ffd5b5f60208284031215612d2f575f5ffd5b610e5582612d10565b602080825282518282018190525f918401906040840190835b81811015612d9f57835180518452602081015160208501526040810151604085015260608101516060850152608081015160808501525060a083019250602084019350600181019050612d51565b509095945050505050565b5f5f60408385031215612dbb575f5ffd5b612dc483612c28565b9150612dd260208401612d10565b90509250929050565b602080825282518282018190525f918401906040840190835b81811015612d9f578351835260209384019390920191600101612df4565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f60808587031215612e39575f5ffd5b612e4285612c28565b9350612e5060208601612c28565b925060408501359150606085013567ffffffffffffffff811115612e72575f5ffd5b8501601f81018713612e82575f5ffd5b803567ffffffffffffffff811115612e9c57612e9c612e12565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715612ecb57612ecb612e12565b604052818152828201602001891015612ee2575f5ffd5b816020840160208301375f6020838301015280935050505092959194509250565b5f5f5f5f5f5f5f60e0888a031215612f19575f5ffd5b612f2288612c28565b9650612f3060208901612c28565b95506040880135945060608801359350608088013560ff81168114612f53575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215612f81575f5ffd5b612f8a83612c28565b9150612dd260208401612c28565b5f5f60408385031215612fa9575f5ffd5b50508035926020909101359150565b600181811c90821680612fcc57607f821691505b602082108103612fea57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561070c5761070c612ff0565b634e487b7160e01b5f52601260045260245ffd5b5f8261303957613039613017565b500490565b5f8261304c5761304c613017565b500690565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561070c5761070c612ff0565b5f6001820161308957613089612ff0565b5060010190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906130c290830184612c57565b9695505050505050565b5f602082840312156130dc575f5ffd5b8151610e5581612bf8565b5f81518060208401855e5f93019283525090919050565b5f61311261310c83866130e7565b846130e7565b632e6a706760e01b8152600401949350505050565b607b60f81b81527f226e616d65223a2022546f6b656e20496d616765202d204368756e6b2023200060018201525f61316260208301886130e7565b61088b60f21b81527f226465736372697074696f6e223a20224465736372697074696f6e205465787460028201526f081dda5b1b081899481a195c994b888b60821b6022820152691134b6b0b3b2911d101160b11b60328201526131c9603c8201886130e7565b61088b60f21b815290506e2261747472696275746573223a205b60881b60028201527f7b202274726169745f74797065223a20224368756e6b204944222c202276616c6011820152653ab2911d101160d11b603182015261322d60378201876130e7565b62089f4b60ea1b815290507f7b202274726169745f74797065223a2022526f77222c202276616c7565223a206003820152601160f91b602382015261327560248201866130e7565b62089f4b60ea1b815290507f7b202274726169745f74797065223a2022436f6c756d6e222c202276616c7565600382015263111d101160e11b60238201526132c060278201856130e7565b61227d60f01b8152605d60f81b6002820152607d60f81b600382015260040198975050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c000000000081525f610e55601b8301846130e7565b5f5f83545f8160011c9050600182168061333757607f821691505b60208210810361335557634e487b7160e01b5f52602260045260245ffd5b808015613369576001811461337e576133ac565b60ff19841687528215158302870194506133ac565b5f888152602090205f5b848110156133a457815489820152600190910190602001613388565b505082870194505b50929695505050505050565b634e487b7160e01b5f52603160045260245ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef697066733a2f2f626166796265696377707168336274626b32333275613773747679696f7965786a6e6d78647a687a6361686669706a7a36746c79693265743368692fa2646970667358221220dd87bd36ba68c67ed997de7909ea25b8e0914840931e62a8203f4949df1c5df564736f6c634300081c0033ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000d506570657320446156696e6369000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007504556494e434900000000000000000000000000000000000000000000000000
Deployed Bytecode
0x608060405234801561000f575f5ffd5b506004361061028c575f3560e01c80638da5cb5b11610161578063c6e672b9116100ca578063dd62ed3e11610084578063dd62ed3e14610639578063dd63769914610663578063dfabc03314610676578063e985e9c514610689578063f2fde38b146106b6578063f780bc1a146106c9575f5ffd5b8063c6e672b9146105d2578063c87b56dd146105e5578063c9567bf9146105f8578063d25a726514610600578063d505accf14610613578063d96ca0b914610626575f5ffd5b8063a9059cbb1161011b578063a9059cbb14610548578063b1ab93171461055b578063b3f9ea341461057b578063b88d4fde146105a3578063bbc0c742146105b6578063c5ab3ba6146105ca575f5ffd5b80638da5cb5b146104c35780638dec3346146104d3578063902609ed146104f357806395d89b4114610506578063976a84351461050e578063a22cb46514610535575f5ffd5b8063313ce567116102035780636352211e116101bd5780636352211e1461044f57806370a0823114610462578063715018a6146104815780637ecebe001461048957806389fb4c66146104a85780638a696e50146104b0575f5ffd5b8063313ce567146103aa57806332db027b146103e35780633644e5151461041857806342842e0e146104205780634d966072146104335780634f02c42014610446575f5ffd5b806309674eb01161025457806309674eb01461035657806309f0ef651461035e5780630cb7a58e1461037157806318160ddd1461038657806323b872dd1461038f57806325fdfaa2146103a2575f5ffd5b806301ffc9a71461029057806302519da3146102b857806306fdde03146102ee578063081812fc14610303578063095ea7b314610343575b5f5ffd5b6102a361029e366004612c0d565b6106dc565b60405190151581526020015b60405180910390f35b6102e06102c6366004612c3e565b6001600160a01b03165f9081526007602052604090205490565b6040519081526020016102af565b6102f6610712565b6040516102af9190612c85565b61032b610311366004612c97565b60096020525f90815260409020546001600160a01b031681565b6040516001600160a01b0390911681526020016102af565b6102a3610351366004612cae565b61079e565b6102e06107d0565b6102a361036c366004612c3e565b6107e0565b61038461037f366004612c3e565b610810565b005b6102e060055481565b6102a361039d366004612cd6565b61088d565b6102f66108a1565b6103d17f000000000000000000000000000000000000000000000000000000000000001281565b60405160ff90911681526020016102af565b6103f66103f1366004612c97565b6108bd565b60408051825181526020808401519082015291810151908201526060016102af565b6102e0610980565b61038461042e366004612cd6565b6109d5565b6102a3610441366004612cae565b6109f4565b6102e060065481565b61032b61045d366004612c97565b610a7f565b6102e0610470366004612c3e565b60076020525f908152604090205481565b610384610ae3565b6102e0610497366004612c3e565b600e6020525f908152604090205481565b6005546102e0565b6103846104be366004612d1f565b610af6565b5f546001600160a01b031661032b565b6104e66104e1366004612c3e565b610b03565b6040516102af9190612d38565b60115461032b906001600160a01b031681565b6102f6610daa565b6102e07f0000000000000000000000000000000000000000000000000de0b6b3a764000081565b610384610543366004612daa565b610db7565b6102a3610556366004612cae565b610e49565b61056e610569366004612c3e565b610e5c565b6040516102af9190612ddb565b6102e0610589366004612c3e565b6001600160a01b03165f908152600c602052604090205490565b6103846105b1366004612e26565b610ec5565b6011546102a390600160a01b900460ff1681565b6006546102e0565b6103846105e0366004612daa565b610fab565b6102f66105f3366004612c97565b610fc1565b6103846110ed565b61038461060e366004612c97565b611154565b610384610621366004612f03565b61126e565b6102a3610634366004612cd6565b6114a5565b6102e0610647366004612f70565b600860209081525f928352604080842090915290825290205481565b610384610671366004612cd6565b611561565b610384610684366004612cae565b6116bf565b6102a3610697366004612f70565b600a60209081525f928352604080842090915290825290205460ff1681565b6103846106c4366004612c3e565b611781565b61056e6106d7366004612f98565b6117bb565b5f6001600160e01b0319821663caf91ff560e01b148061070c57506001600160e01b031982166301ffc9a760e01b145b92915050565b6003805461071f90612fb8565b80601f016020809104026020016040519081016040528092919081815260200182805461074b90612fb8565b80156107965780601f1061076d57610100808354040283529160200191610796565b820191905f5260205f20905b81548152906001019060200180831161077957829003601f168201915b505050505081565b5f5f1982146107b6576107b183836116bf565b6107c7565b6107c083836109f4565b905061070c565b50600192915050565b5f6107db6001611857565b905090565b5f6001600160a01b038216158061070c5750506001600160a01b03165f908152600d602052604090205460ff1690565b610818611875565b601154600160a81b900460ff161561086b5760405162461bcd60e51b81526020600482015260116024820152702837b7b61030b63932b0b23c9039b2ba1760791b60448201526064015b60405180910390fd5b601180546001600160a01b0319166001600160a01b0392909216919091179055565b5f6108998484846118a1565b949350505050565b6040518060800160405280604381526020016133ed6043913981565b6108de60405180606001604052805f81526020015f81526020015f81525090565b5f821180156108ef57506006548211155b6109325760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610862565b815f61093f600183613004565b90505f61094d605e8361302b565b90505f61095b605e8461303e565b6040805160608101825295865260208601939093529184019190915250909392505050565b5f7f000000000000000000000000000000000000000000000000000000000000000146146109b0576107db61195f565b507f56fe639dc73ea98d8590263fcb894e8bdd8ecb04849b271da01e4a01a62fc26a90565b6109ef83838360405180602001604052805f815250610ec5565b505050565b5f6001600160a01b038316610a1c57604051635461585f60e01b815260040160405180910390fd5b335f8181526008602090815260408083206001600160a01b03881680855290835292819020869055518581529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350600192915050565b5f818152600b60205260409020546001600160a01b031660018201610ab7576040516307ed98ed60e31b815260040160405180910390fd5b6001600160a01b038116610ade5760405163c5723b5160e01b815260040160405180910390fd5b919050565b610aeb611875565b610af45f6119f8565b565b610b003382611a47565b50565b6001600160a01b0381165f908152600c60209081526040808320805482518185028101850190935280835260609493830182828015610b5f57602002820191905f5260205f20905b815481526020019060010190808311610b4b575b505050505090505f815190505f8167ffffffffffffffff811115610b8557610b85612e12565b604051908082528060200260200182016040528015610be357816020015b610bd06040518060a001604052805f81526020015f81526020015f81526020015f81526020015f81525090565b815260200190600190039081610ba35790505b5090505f805b83811015610d9f575f858281518110610c0457610c04613051565b60209081029190910101519050805f610c1e600183613004565b90505f610c2c605e8361302b565b90505f610c3a605e8461303e565b905081815b8a610c4b896001613065565b108015610c9f57508b8881518110610c6557610c65613051565b60200260200101516001610c799190613065565b8c610c858a6001613065565b81518110610c9557610c95613051565b6020026020010151145b15610d33575f8c610cb18a6001613065565b81518110610cc157610cc1613051565b602002602001015190505f605e600183610cdb9190613004565b610ce5919061302b565b9050838114610cf5575050610d33565b89610cff81613078565b9a505f9050610d0f600184613004565b9050610d1c605e8261302b565b9450610d29605e8261303e565b9350505050610c3f565b6040518060a00160405280878152602001858152602001848152602001838152602001828152508a8a81518110610d6c57610d6c613051565b60200260200101819052508880610d8290613078565b9950508780610d9090613078565b98505050505050505050610be9565b508152949350505050565b6004805461071f90612fb8565b6001600160a01b038216610dde5760405163ccea9e6f60e01b815260040160405180910390fd5b335f818152600a602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f610e553384846118a1565b9392505050565b6001600160a01b0381165f908152600c6020908152604091829020805483518184028101840190945280845260609392830182828015610eb957602002820191905f5260205f20905b815481526020019060010190808311610ea5575b50505050509050919050565b5f198203610ee6576040516307ed98ed60e31b815260040160405180910390fd5b610ef184848461088d565b506001600160a01b0383163b15801590610f875750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a0290610f3a903390899088908890600401613090565b6020604051808303815f875af1158015610f56573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f7a91906130cc565b6001600160e01b03191614155b15610fa557604051633da6393160e01b815260040160405180910390fd5b50505050565b610fb3611875565b610fbd8282611a47565b5050565b60605f82118015610fd457506006548211155b6110175760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88191bd95cc81b9bdd08195e1a5cdd60621b6044820152606401610862565b5f611021836108bd565b90505f6040518060800160405280604381526020016133ed60439139825161104890611ab5565b6040516020016110599291906130fe565b60405160208183030381529060405290505f611077835f0151611ab5565b82611084855f0151611ab5565b6110918660200151611ab5565b61109e8760400151611ab5565b6040516020016110b2959493929190613127565b6040516020818303038152906040529050806040516020016110d491906132eb565b6040516020818303038152906040529350505050919050565b6110f5611875565b601154600160a01b900460ff161561113f5760405162461bcd60e51b815260206004820152600d60248201526c2a3930b234b7339037b832b71760991b6044820152606401610862565b6011805460ff60a01b1916600160a01b179055565b61115c611875565b6101908160065461116d9190613065565b11156111b35760405162461bcd60e51b81526020600482015260156024820152742a37b5b2b7103634b6b4ba1032bc31b2b2b232b21760591b6044820152606401610862565b5f60065460016111c39190613065565b90505f5b82811015611253575f6111da8284613065565b90506111e68130611b45565b305f818152600c6020908152604082208054600181810183558285529284200185905592909152905461122491839161121f9190613004565b611b73565b61122f600182611bdd565b604051819030905f905f5160206133cd5f395f51905f52908290a4506001016111c7565b508160065f8282546112659190613065565b90915550505050565b4284101561128f576040516305787bdf60e01b815260040160405180910390fd5b5f1985146112b0576040516303e7c1bd60e31b815260040160405180910390fd5b6001600160a01b0386166112d757604051635461585f60e01b815260040160405180910390fd5b5f60016112e2610980565b6001600160a01b038a81165f818152600e602090815260409182902080546001810190915582517f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98184015280840194909452938d166060840152608083018c905260a083019390935260c08083018b90528151808403909101815260e08301909152805192019190912061190160f01b6101008301526101028201929092526101228101919091526101420160408051601f1981840301815282825280516020918201205f84529083018083525260ff871690820152606081018590526080810184905260a0016020604051602081039080840390855afa1580156113ea573d5f5f3e3d5ffd5b5050604051601f1901519150506001600160a01b038116158061141f5750876001600160a01b0316816001600160a01b031614155b1561143d57604051632057875960e21b815260040160405180910390fd5b6001600160a01b039081165f9081526008602090815260408083208a8516808552908352928190208990555188815291928a16917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a350505050505050565b5f6001600160a01b0384166114cd57604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0383166114f457604051634e46966960e11b815260040160405180910390fd5b6001600160a01b0384165f9081526008602090815260408083203384529091529020545f19811461154d576115298382613004565b6001600160a01b0386165f9081526008602090815260408083203384529091529020555b6115588585856118a1565b95945050505050565b6001600160a01b03831661158857604051636edaef2f60e11b815260040160405180910390fd5b6001600160a01b0382166115af57604051634e46966960e11b815260040160405180910390fd5b5f818152600b60205260409020546001600160a01b038481169116146115e7576040516282b42960e81b815260040160405180910390fd5b336001600160a01b0384161480159061162357506001600160a01b0383165f908152600a6020908152604080832033845290915290205460ff16155b801561164557505f818152600960205260409020546001600160a01b03163314155b15611662576040516282b42960e81b815260040160405180910390fd5b61166b826107e0565b1561168957604051635ce7539760e01b815260040160405180910390fd5b6116b483837f0000000000000000000000000000000000000000000000000de0b6b3a7640000611c4d565b6109ef838383611cf3565b5f818152600b60205260409020546001600160a01b031633811480159061170957506001600160a01b0381165f908152600a6020908152604080832033845290915290205460ff16155b15611726576040516282b42960e81b815260040160405180910390fd5b5f8281526009602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b611789611875565b6001600160a01b0381166117b257604051631e4fbdf760e01b81525f6004820152602401610862565b610b00816119f8565b60605f8267ffffffffffffffff8111156117d7576117d7612e12565b604051908082528060200260200182016040528015611800578160200160208202803683370190505b509050835b61180f8486613065565b81101561184f57611821600182611e96565b8261182c8784613004565b8151811061183c5761183c613051565b6020908102919091010152600101611805565b509392505050565b546001600160801b03808216600160801b9092048116919091031690565b5f546001600160a01b03163314610af45760405163118cdaa760e01b8152336004820152602401610862565b6011545f90600160a01b900460ff161580156118ca57505f546001600160a01b03858116911614155b80156118e357505f546001600160a01b03848116911614155b15611954576011546001600160a01b0385811691161480159061191457506011546001600160a01b03848116911614155b6119545760405162461bcd60e51b81526020600482015260116024820152702a3930b234b733903737ba1037b832b71760791b6044820152606401610862565b610899848484611ee6565b5f7f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6003604051611990919061331c565b6040805191829003822060208301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216611a6e5760405163a41e3d3f60e01b815260040160405180910390fd5b8015611a8257611a7d826122c0565b611a8b565b611a8b826122e8565b6001600160a01b03919091165f908152600d60205260409020805460ff1916911515919091179055565b60605f611ac18361236b565b60010190505f8167ffffffffffffffff811115611ae057611ae0612e12565b6040519080825280601f01601f191660200182016040528015611b0a576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611b1457509392505050565b5f918252600b602052604090912080546001600160a01b0319166001600160a01b0392909216919091019055565b5f828152600b60205260409020546bffffffffffffffffffffffff821115611bae57604051633f2cd0e360e21b815260040160405180910390fd5b5f928352600b60205260409092206001600160a01b039290921660a09190911b6001600160a01b031916019055565b81546001600160801b03600160801b820481169181166001830190911603611c1857604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b038082165f90815260018086016020526040909120939093558354919092018216600160801b029116179055565b6001600160a01b038316611c77578060055f828254611c6c9190613065565b90915550611ca49050565b6001600160a01b0383165f9081526007602052604081208054839290611c9e908490613004565b90915550505b6001600160a01b038083165f81815260076020526040908190208054850190555190918516905f5160206133cd5f395f51905f5290611ce69085815260200190565b60405180910390a3505050565b6001600160a01b03831615611df4575f81815260096020908152604080832080546001600160a01b03191690556001600160a01b0386168352600c90915281208054611d4190600190613004565b81548110611d5157611d51613051565b905f5260205f2001549050818114611db9575f828152600b602052604081205460a01c6001600160a01b0386165f908152600c602052604090208054919250839183908110611da257611da2613051565b5f91825260209091200155611db78282611b73565b505b6001600160a01b0384165f908152600c60205260409020805480611ddf57611ddf6133b8565b600190038181905f5260205f20015f90559055505b6001600160a01b03821615611e5457611e0d8183611b45565b6001600160a01b0382165f818152600c60209081526040822080546001818101835582855292842001859055929091529054611e4f91839161121f9190613004565b611e63565b5f818152600b60205260408120555b80826001600160a01b0316846001600160a01b03165f5160206133cd5f395f51905f5260405160405180910390a4505050565b5f611ea083611857565b8210611ebf5760405163580821e760e01b815260040160405180910390fd5b5081546001600160801b039081168201165f90815260018301602052604090205492915050565b6001600160a01b038381165f90815260076020526040808220549285168252812054909190611f16868686611c4d565b5f611f20876107e0565b90505f611f2c876107e0565b9050818015611f385750805b6122b2578115611fd2575f611f6d7f0000000000000000000000000000000000000000000000000de0b6b3a76400008561302b565b6001600160a01b0389165f90815260076020526040902054611fb0907f0000000000000000000000000000000000000000000000000de0b6b3a76400009061302b565b611fba9190613004565b90508015611fcc57611fcc8882612442565b506122b2565b8015612061576001600160a01b0388165f9081526007602052604081205461201b907f0000000000000000000000000000000000000000000000000de0b6b3a76400009061302b565b6120457f0000000000000000000000000000000000000000000000000de0b6b3a76400008761302b565b61204f9190613004565b90508015611fcc57611fcc8982612656565b5f61208c7f0000000000000000000000000000000000000000000000000de0b6b3a76400008861302b565b9050801561217f575f8167ffffffffffffffff8111156120ae576120ae612e12565b6040519080825280602002602001820160405280156120d7578160200160208202803683370190505b506001600160a01b038b165f908152600c60205260408120549192505b8381101561216f575f81612109600185613004565b6121139190613004565b6001600160a01b038e165f908152600c602052604090208054919250908290811061214057612140613051565b905f5260205f20015484838151811061215b5761215b613051565b6020908102919091010152506001016120f4565b5061217c8b8c8c856127e0565b50505b6001600160a01b0389165f908152600760205260408120546121c2907f0000000000000000000000000000000000000000000000000de0b6b3a76400009061302b565b6121ec7f0000000000000000000000000000000000000000000000000de0b6b3a76400008861302b565b6121f69190613004565b905081811115612213576122138a61220e8484613004565b612656565b5f61223e7f0000000000000000000000000000000000000000000000000de0b6b3a76400008761302b565b7f0000000000000000000000000000000000000000000000000de0b6b3a764000061227d8c6001600160a01b03165f9081526007602052604090205490565b612287919061302b565b6122919190613004565b9050828111156122ae576122ae8a6122a98584613004565b612442565b5050505b506001979650505050505050565b6001600160a01b0381165f908152600c60205260409020548015610fbd57610fbd8282612656565b6001600160a01b0381165f9081526007602052604081205461232b907f0000000000000000000000000000000000000000000000000de0b6b3a76400009061302b565b90505f61234c836001600160a01b03165f908152600c602052604090205490565b90505f6123598284613004565b90508015610fa557610fa58482612442565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106123a95772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106123d5576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106123f357662386f26fc10000830492506010015b6305f5e100831061240b576305f5e100830492506008015b612710831061241f57612710830492506004015b60648310612431576064830492506002015b600a831061070c5760010192915050565b6001600160a01b03821661248c5760405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a59081c9958da5c1a595b9d607a1b6044820152606401610862565b805f036124d75760405162461bcd60e51b81526020600482015260196024820152785175616e74697479206d757374206265206e6f6e2d7a65726f60381b6044820152606401610862565b5f6124e26001611857565b9050818110156125345760405162461bcd60e51b815260206004820152601960248201527f4e6f7420656e6f75676820746f6b656e7320696e2062616e6b000000000000006044820152606401610862565b5f8267ffffffffffffffff81111561254e5761254e612e12565b604051908082528060200260200182016040528015612577578160200160208202803683370190505b5090505f5b83811015612618575f61258f6001612b1d565b5f818152600b60205260409020549091506001600160a01b03163081146125f05760405162461bcd60e51b8152602060048201526015602482015274151bdad95b88185b1c9958591e4818db185a5b5959605a1b6044820152606401610862565b8184848151811061260357612603613051565b6020908102919091010152505060010161257c565b508260010361264a576126453085835f8151811061263857612638613051565b6020026020010151611cf3565b610fa5565b610fa5303086846127e0565b6001600160a01b03821661267d57604051636edaef2f60e11b815260040160405180910390fd5b805f036126c85760405162461bcd60e51b81526020600482015260196024820152785175616e74697479206d757374206265206e6f6e2d7a65726f60381b6044820152606401610862565b5f8167ffffffffffffffff8111156126e2576126e2612e12565b60405190808252806020026020018201604052801561270b578160200160208202803683370190505b506001600160a01b0384165f908152600c60205260408120549192505b838110156127b3575f8161273d600185613004565b6127479190613004565b6001600160a01b0387165f908152600c60205260408120805492935090918390811061277557612775613051565b905f5260205f20015490508085848151811061279357612793613051565b60209081029190910101526127a9600182612b90565b5050600101612728565b5060018311156127c957612645848530856127e0565b610fa58430845f8151811061263857612638613051565b6001600160a01b0383161580159061280057506001600160a01b03821615155b61283e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610862565b5f836001600160a01b0316856001600160a01b0316148061288357506001600160a01b038085165f908152600a602090815260408083209389168352929052205460ff165b82519091505f5b81811015612afa575f8482815181106128a5576128a5613051565b60200260200101519050866001600160a01b03166128d7825f908152600b60205260409020546001600160a01b031690565b6001600160a01b03161461292d5760405162461bcd60e51b815260206004820152601f60248201527f546f6b656e206e6f74206f776e65642062792066726f6d2061646472657373006044820152606401610862565b8315801561295457505f818152600960205260409020546001600160a01b03898116911614155b156129925760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b6044820152606401610862565b5f81815260096020908152604080832080546001600160a01b03191690556001600160a01b038a168352600c909152812080545f1981019081106129d8576129d8613051565b905f5260205f2001549050818114612a40575f828152600b602052604081205460a01c6001600160a01b038a165f908152600c602052604090208054919250839183908110612a2957612a29613051565b5f91825260209091200155612a3e8282611b73565b505b6001600160a01b0388165f908152600c60205260409020805480612a6657612a666133b8565b600190038181905f5260205f20015f90559055612a838288611b45565b6001600160a01b0387165f818152600c602090815260408220805460018101825581845291832090910185905591905254612ac29083905f1901611b73565b81876001600160a01b0316896001600160a01b03165f5160206133cd5f395f51905f5260405160405180910390a4505060010161288a565b506001600160a01b039093165f908152600f602052604090209290925550505050565b80545f906001600160801b0380821691600160801b9004168103612b54576040516375e52f4f60e01b815260040160405180910390fd5b6001600160801b038181165f908152600185810160205260408220805492905585546001600160801b0319169301909116919091179092555090565b81546001600160801b038082165f190191600160801b9004811690821603612bcb57604051638acb5f2760e01b815260040160405180910390fd5b6001600160801b03165f81815260018401602052604090209190915581546001600160801b031916179055565b6001600160e01b031981168114610b00575f5ffd5b5f60208284031215612c1d575f5ffd5b8135610e5581612bf8565b80356001600160a01b0381168114610ade575f5ffd5b5f60208284031215612c4e575f5ffd5b610e5582612c28565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f610e556020830184612c57565b5f60208284031215612ca7575f5ffd5b5035919050565b5f5f60408385031215612cbf575f5ffd5b612cc883612c28565b946020939093013593505050565b5f5f5f60608486031215612ce8575f5ffd5b612cf184612c28565b9250612cff60208501612c28565b929592945050506040919091013590565b80358015158114610ade575f5ffd5b5f60208284031215612d2f575f5ffd5b610e5582612d10565b602080825282518282018190525f918401906040840190835b81811015612d9f57835180518452602081015160208501526040810151604085015260608101516060850152608081015160808501525060a083019250602084019350600181019050612d51565b509095945050505050565b5f5f60408385031215612dbb575f5ffd5b612dc483612c28565b9150612dd260208401612d10565b90509250929050565b602080825282518282018190525f918401906040840190835b81811015612d9f578351835260209384019390920191600101612df4565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f5f60808587031215612e39575f5ffd5b612e4285612c28565b9350612e5060208601612c28565b925060408501359150606085013567ffffffffffffffff811115612e72575f5ffd5b8501601f81018713612e82575f5ffd5b803567ffffffffffffffff811115612e9c57612e9c612e12565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715612ecb57612ecb612e12565b604052818152828201602001891015612ee2575f5ffd5b816020840160208301375f6020838301015280935050505092959194509250565b5f5f5f5f5f5f5f60e0888a031215612f19575f5ffd5b612f2288612c28565b9650612f3060208901612c28565b95506040880135945060608801359350608088013560ff81168114612f53575f5ffd5b9699959850939692959460a0840135945060c09093013592915050565b5f5f60408385031215612f81575f5ffd5b612f8a83612c28565b9150612dd260208401612c28565b5f5f60408385031215612fa9575f5ffd5b50508035926020909101359150565b600181811c90821680612fcc57607f821691505b602082108103612fea57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561070c5761070c612ff0565b634e487b7160e01b5f52601260045260245ffd5b5f8261303957613039613017565b500490565b5f8261304c5761304c613017565b500690565b634e487b7160e01b5f52603260045260245ffd5b8082018082111561070c5761070c612ff0565b5f6001820161308957613089612ff0565b5060010190565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f906130c290830184612c57565b9695505050505050565b5f602082840312156130dc575f5ffd5b8151610e5581612bf8565b5f81518060208401855e5f93019283525090919050565b5f61311261310c83866130e7565b846130e7565b632e6a706760e01b8152600401949350505050565b607b60f81b81527f226e616d65223a2022546f6b656e20496d616765202d204368756e6b2023200060018201525f61316260208301886130e7565b61088b60f21b81527f226465736372697074696f6e223a20224465736372697074696f6e205465787460028201526f081dda5b1b081899481a195c994b888b60821b6022820152691134b6b0b3b2911d101160b11b60328201526131c9603c8201886130e7565b61088b60f21b815290506e2261747472696275746573223a205b60881b60028201527f7b202274726169745f74797065223a20224368756e6b204944222c202276616c6011820152653ab2911d101160d11b603182015261322d60378201876130e7565b62089f4b60ea1b815290507f7b202274726169745f74797065223a2022526f77222c202276616c7565223a206003820152601160f91b602382015261327560248201866130e7565b62089f4b60ea1b815290507f7b202274726169745f74797065223a2022436f6c756d6e222c202276616c7565600382015263111d101160e11b60238201526132c060278201856130e7565b61227d60f01b8152605d60f81b6002820152607d60f81b600382015260040198975050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b757466382c000000000081525f610e55601b8301846130e7565b5f5f83545f8160011c9050600182168061333757607f821691505b60208210810361335557634e487b7160e01b5f52602260045260245ffd5b808015613369576001811461337e576133ac565b60ff19841687528215158302870194506133ac565b5f888152602090205f5b848110156133a457815489820152600190910190602001613388565b505082870194505b50929695505050505050565b634e487b7160e01b5f52603160045260245ffdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef697066733a2f2f626166796265696377707168336274626b32333275613773747679696f7965786a6e6d78647a687a6361686669706a7a36746c79693265743368692fa2646970667358221220dd87bd36ba68c67ed997de7909ea25b8e0914840931e62a8203f4949df1c5df564736f6c634300081c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000d506570657320446156696e6369000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007504556494e434900000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): Pepes DaVinci
Arg [1] : symbol_ (string): PEVINCI
Arg [2] : decimals_ (uint8): 18
Arg [3] : maxTotalSupplyERC721_ (uint256): 400

-----Encoded View---------------
8 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000190
Arg [4] : 000000000000000000000000000000000000000000000000000000000000000d
Arg [5] : 506570657320446156696e636900000000000000000000000000000000000000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000007
Arg [7] : 504556494e434900000000000000000000000000000000000000000000000000

Deployed Bytecode Sourcemap
66155:8439:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;50247:192;;;;;;:::i;:::-;;:::i;:::-;;;565:14:1;;558:22;540:41;;528:2;513:18;50247:192:0;;;;;;;;37894:121;;;;;;:::i;:::-;-1:-1:-1;;;;;37990:17:0;37963:7;37990:17;;;:9;:17;;;;;;;37894:121;;;;1107:25:1;;;1095:2;1080:18;37894:121:0;961:177:1;34681:18:0;;;:::i;:::-;;;;;;;:::i;35554:46::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;35554:46:0;;;;;;-1:-1:-1;;;;;2079:32:1;;;2061:51;;2049:2;2034:18;35554:46:0;1915:203:1;39263:296:0;;;;;;:::i;:::-;;:::i;38241:121::-;;;:::i;50693:163::-;;;;;;:::i;:::-;;:::i;68009:195::-;;;;;;:::i;:::-;;:::i;:::-;;34855:26;;;;;;68897:167;;;;;;:::i;:::-;;:::i;66490:102::-;;;:::i;34733:31::-;;;;;;;;2979:4:1;2967:17;;;2949:36;;2937:2;2922:18;34733:31:0;2807:184:1;72707:611:0;;;;;;:::i;:::-;;:::i;:::-;;;;3214:13:1;;3196:32;;3284:4;3272:17;;;3266:24;3244:20;;;3237:54;3335:17;;;3329:24;3307:20;;;3300:54;3184:2;3169:18;72707:611:0;2996:364:1;50057:182:0;;;:::i;47186:138::-;;;;;;:::i;:::-;;:::i;40152:381::-;;;;;;:::i;:::-;;:::i;35022:21::-;;;;;;37321:305;;;;;;:::i;:::-;;:::i;35327:44::-;;;;;;:::i;:::-;;;;;;;;;;;;;;33609:103;;;:::i;36172:41::-;;;;;;:::i;:::-;;;;;;;;;;;;;;38023:103;38107:11;;38023:103;;50492:128;;;;;;:::i;:::-;;:::i;32934:87::-;32980:7;33007:6;-1:-1:-1;;;;;33007:6:0;32934:87;;69469:2640;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;66211:35::-;;;;;-1:-1:-1;;;;;66211:35:0;;;34706:20;;;:::i;34817:30::-;;;;;40589:352;;;;;;:::i;:::-;;:::i;68736:153::-;;;;;;:::i;:::-;;:::i;37634:118::-;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;37760:126::-;;;;;;:::i;:::-;-1:-1:-1;;;;;37857:14:0;37830:7;37857:14;;;:6;:14;;;;;:21;;37760:126;47560:513;;;;;;:::i;:::-;;:::i;66253:33::-;;;;;-1:-1:-1;;;66253:33:0;;;;;;38134:99;38219:6;;38134:99;;67831:144;;;;;;:::i;:::-;;:::i;73328:1261::-;;;;;;:::i;:::-;;:::i;68212:132::-;;;:::i;67216:607::-;;;;;;:::i;:::-;;:::i;48289:1643::-;;;;;;:::i;:::-;;:::i;43134:814::-;;;;;;:::i;:::-;;:::i;35435:64::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;41708:1302;;;;;;:::i;:::-;;:::i;39567:429::-;;;;;;:::i;:::-;;:::i;35664:68::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;33867:220;;;;;;:::i;:::-;;:::i;38370:419::-;;;;;;:::i;:::-;;:::i;50247:192::-;50323:4;-1:-1:-1;;;;;;50347:40:0;;-1:-1:-1;;;50347:40:0;;:84;;-1:-1:-1;;;;;;;50391:40:0;;-1:-1:-1;;;50391:40:0;50347:84;50340:91;50247:192;-1:-1:-1;;50247:192:0:o;34681:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;39263:296::-;39342:4;-1:-1:-1;;51154:24:0;;39359:169;;39407:35;39421:8;39431:10;39407:13;:35::i;:::-;39359:169;;;39482:34;39495:8;39505:10;39482:12;:34::i;:::-;39475:41;;;;39359:169;-1:-1:-1;39547:4:0;39263:296;;;;:::o;38241:121::-;38302:7;38329:25;:16;:23;:25::i;:::-;38322:32;;38241:121;:::o;50693:163::-;50769:4;-1:-1:-1;;;;;50793:21:0;;;;:55;;-1:-1:-1;;;;;;;50818:30:0;;;;;:21;:30;;;;;;;;;50693:163::o;68009:195::-;32820:13;:11;:13::i;:::-;68112:7:::1;::::0;-1:-1:-1;;;68112:7:0;::::1;;;68111:8;68103:38;;;::::0;-1:-1:-1;;;68103:38:0;;9163:2:1;68103:38:0::1;::::0;::::1;9145:21:1::0;9202:2;9182:18;;;9175:30;-1:-1:-1;;;9221:18:1;;;9214:47;9278:18;;68103:38:0::1;;;;;;;;;68152:20;:44:::0;;-1:-1:-1;;;;;;68152:44:0::1;-1:-1:-1::0;;;;;68152:44:0;;;::::1;::::0;;;::::1;::::0;;68009:195::o;68897:167::-;68988:4;69012:44;69037:5;69044:3;69049:6;69012:24;:44::i;:::-;69005:51;68897:167;-1:-1:-1;;;;68897:167:0:o;66490:102::-;;;;;;;;;;;;;;;;;;;:::o;72707:611::-;72776:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;72776:16:0;72823:1;72813:7;:11;:32;;;;;72839:6;;72828:7;:17;;72813:32;72805:65;;;;-1:-1:-1;;;72805:65:0;;9509:2:1;72805:65:0;;;9491:21:1;9548:2;9528:18;;;9521:30;-1:-1:-1;;;9567:18:1;;;9560:50;9627:18;;72805:65:0;9307:344:1;72805:65:0;73019:7;73001:15;73098:11;73108:1;73019:7;73098:11;:::i;:::-;73079:30;-1:-1:-1;73175:11:0;73189:21;66423:2;73079:30;73189:21;:::i;:::-;73175:35;-1:-1:-1;73221:14:0;73238:21;66423:2;73238:8;:21;:::i;:::-;73279:31;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;73279:31:0;;72707:611;-1:-1:-1;;;72707:611:0:o;50057:182::-;50114:7;50158:17;50141:13;:34;:90;;50206:25;:23;:25::i;50141:90::-;-1:-1:-1;50178:25:0;;50057:182::o;47186:138::-;47279:37;47296:5;47303:3;47308;47279:37;;;;;;;;;;;;:16;:37::i;:::-;47186:138;;;:::o;40152:381::-;40232:4;-1:-1:-1;;;;;40307:22:0;;40303:78;;40353:16;;-1:-1:-1;;;40353:16:0;;;;;;;;;;;40303:78;40403:10;40393:21;;;;:9;:21;;;;;;;;-1:-1:-1;;;;;40393:31:0;;;;;;;;;;;;:40;;;40451:50;1107:25:1;;;40393:31:0;;40403:10;40451:50;;1080:18:1;40451:50:0;;;;;;;-1:-1:-1;40521:4:0;40152:381;;;;:::o;37321:305::-;37380:19;64377:15;;;:10;:15;;;;;;-1:-1:-1;;;;;64441:27:0;51154:24;;;37455:77;;37504:16;;-1:-1:-1;;;37504:16:0;;;;;;;;;;;37455:77;-1:-1:-1;;;;;37548:25:0;;37544:75;;37597:10;;-1:-1:-1;;;37597:10:0;;;;;;;;;;;37544:75;37321:305;;;:::o;33609:103::-;32820:13;:11;:13::i;:::-;33674:30:::1;33701:1;33674:18;:30::i;:::-;33609:103::o:0;50492:128::-;50568:44;50593:10;50605:6;50568:24;:44::i;:::-;50492:128;:::o;69469:2640::-;-1:-1:-1;;;;;69607:13:0;;69576:28;69607:13;;;:6;:13;;;;;;;;69576:44;;;;;;;;;;;;;;;;;69539:24;;69576:28;:44;;69607:13;69576:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;69631:23;69657:11;:18;69631:44;;69778:41;69844:15;69822:38;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;69822:38:0;;;;;;;;;;;;;;;;-1:-1:-1;69778:82:0;-1:-1:-1;69871:18:0;;69930:1989;69941:15;69937:1;:19;69930:1989;;;70030:15;70048:11;70060:1;70048:14;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;70048:14:0;70164:15;70287:11;70297:1;70048:14;70287:11;:::i;:::-;70268:30;-1:-1:-1;70313:16:0;70332:21;66423:2;70268:30;70332:21;:::i;:::-;70313:40;-1:-1:-1;70368:19:0;70390:21;66423:2;70390:8;:21;:::i;:::-;70368:43;-1:-1:-1;70508:8:0;70368:43;70802:667;70817:15;70809:5;:1;70813;70809:5;:::i;:::-;:23;:67;;;;;70858:11;70870:1;70858:14;;;;;;;;:::i;:::-;;;;;;;70875:1;70858:18;;;;:::i;:::-;70836:11;70848:5;:1;70852;70848:5;:::i;:::-;70836:18;;;;;;;;:::i;:::-;;;;;;;:40;70809:67;70802:667;;;70897:19;70919:11;70931:5;:1;70935;70931:5;:::i;:::-;70919:18;;;;;;;;:::i;:::-;;;;;;;70897:40;;70956:15;66423:2;70989:1;70975:11;:15;;;;:::i;:::-;70974:30;;;;:::i;:::-;70956:48;;71140:6;71129:7;:17;71125:71;;71171:5;;;;71125:71;71282:3;;;;:::i;:::-;;-1:-1:-1;71306:20:0;;-1:-1:-1;71329:15:0;71343:1;71329:11;:15;:::i;:::-;71306:38;-1:-1:-1;71372:25:0;66423:2;71306:38;71372:25;:::i;:::-;71363:34;-1:-1:-1;71428:25:0;66423:2;71428:12;:25;:::i;:::-;71416:37;;70878:591;;;70802:667;;;71596:219;;;;;;;;71640:7;71596:219;;;;71676:8;71596:219;;;;71716:11;71596:219;;;;71754:6;71596:219;;;;71790:9;71596:219;;;71565:16;71582:10;71565:28;;;;;;;;:::i;:::-;;;;;;:250;;;;71830:12;;;;;:::i;:::-;;;;71904:3;;;;;:::i;:::-;;;;69958:1961;;;;;;;69930:1989;;;-1:-1:-1;72019:36:0;;72026:16;69469:2640;-1:-1:-1;;;;69469:2640:0:o;34706:20::-;;;;;;;:::i;40589:352::-;-1:-1:-1;;;;;40719:23:0;;40715:80;;40766:17;;-1:-1:-1;;;40766:17:0;;;;;;;;;;;40715:80;40822:10;40805:28;;;;:16;:28;;;;;;;;-1:-1:-1;;;;;40805:39:0;;;;;;;;;;;;:51;;-1:-1:-1;;40805:51:0;;;;;;;;;;40872:61;;540:41:1;;;40805:39:0;;40822:10;40872:61;;513:18:1;40872:61:0;;;;;;;40589:352;;:::o;68736:153::-;68808:4;68832:49;68857:10;68869:3;68874:6;68832:24;:49::i;:::-;68825:56;68736:153;-1:-1:-1;;;68736:153:0:o;37634:118::-;-1:-1:-1;;;;;37730:14:0;;;;;;:6;:14;;;;;;;;;37723:21;;;;;;;;;;;;;;;;;37694:16;;37723:21;;;37730:14;37723:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;37634:118;;;:::o;47560:513::-;-1:-1:-1;;51154:24:0;;47673:77;;47722:16;;-1:-1:-1;;;47722:16:0;;;;;;;;;;;47673:77;47762:29;47775:5;47782:3;47787;47762:12;:29::i;:::-;-1:-1:-1;;;;;;47822:15:0;;;:20;;;;:181;;-1:-1:-1;47859:77:0;;-1:-1:-1;;;47859:77:0;;;47953:50;-1:-1:-1;;;;;47859:46:0;;;47953:50;;47859:77;;47906:10;;47918:5;;47925:3;;47930:5;;47859:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;47859:144:0;;;47822:181;47804:262;;;48037:17;;-1:-1:-1;;;48037:17:0;;;;;;;;;;;47804:262;47560:513;;;;:::o;67831:144::-;32820:13;:11;:13::i;:::-;67925:42:::1;67950:8;67960:6;67925:24;:42::i;:::-;67831:144:::0;;:::o;73328:1261::-;73393:13;73437:1;73427:7;:11;:32;;;;;73453:6;;73442:7;:17;;73427:32;73419:65;;;;-1:-1:-1;;;73419:65:0;;9509:2:1;73419:65:0;;;9491:21:1;9548:2;9528:18;;;9521:30;-1:-1:-1;;;9567:18:1;;;9560:50;9627:18;;73419:65:0;9307:344:1;73419:65:0;73563:26;73592:30;73614:7;73592:21;:30::i;:::-;73563:59;;73633:27;73677:7;;;;;;;;;;;;;;;;;73703:17;;73686:35;;:16;:35::i;:::-;73663:67;;;;;;;;;:::i;:::-;;;;;;;;;;;;;73633:97;;73779:26;73893:35;73910:9;:17;;;73893:16;:35::i;:::-;74036:13;74156:35;74173:9;:17;;;74156:16;:35::i;:::-;74258:31;74275:9;:13;;;74258:16;:31::i;:::-;74359:34;74376:9;:16;;;74359;:34::i;:::-;73808:642;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;73779:671;;74568:12;74523:58;;;;;;;;:::i;:::-;;;;;;;;;;;;;74516:65;;;;;73328:1261;;;:::o;68212:132::-;32820:13;:11;:13::i;:::-;68274::::1;::::0;-1:-1:-1;;;68274:13:0;::::1;;;68273:14;68265:40;;;::::0;-1:-1:-1;;;68265:40:0;;16872:2:1;68265:40:0::1;::::0;::::1;16854:21:1::0;16911:2;16891:18;;;16884:30;-1:-1:-1;;;16930:18:1;;;16923:43;16983:18;;68265:40:0::1;16670:337:1::0;68265:40:0::1;68316:13;:20:::0;;-1:-1:-1;;;;68316:20:0::1;-1:-1:-1::0;;;68316:20:0::1;::::0;;68212:132::o;67216:607::-;32820:13;:11;:13::i;:::-;67309:3:::1;67300:5;67291:6;;:14;;;;:::i;:::-;:21;;67283:55;;;::::0;-1:-1:-1;;;67283:55:0;;17214:2:1;67283:55:0::1;::::0;::::1;17196:21:1::0;17253:2;17233:18;;;17226:30;-1:-1:-1;;;17272:18:1;;;17265:51;17333:18;;67283:55:0::1;17012:345:1::0;67283:55:0::1;67349:19;67371:6;;67380:1;67371:10;;;;:::i;:::-;67349:32:::0;-1:-1:-1;67399:9:0::1;67394:394;67418:5;67414:1;:9;67394:394;;;67445:15;67463;67477:1:::0;67463:11;:15:::1;:::i;:::-;67445:33;;67493:35;67505:7;67522:4;67493:11;:35::i;:::-;67558:4;67543:21;::::0;;;:6:::1;:21;::::0;;;;;;:35;;::::1;::::0;;::::1;::::0;;;;;;;;::::1;::::0;;;67617:21;;;;:28;;67593:57:::1;::::0;67570:7;;67617:32:::1;::::0;67543:35;67617:32:::1;:::i;:::-;67593:14;:57::i;:::-;67665:34;:16;67691:7:::0;67665:25:::1;:34::i;:::-;67719:57;::::0;67768:7;;67761:4:::1;::::0;67749:1:::1;::::0;-1:-1:-1;;;;;;;;;;;67719:57:0;67749:1;;67719:57:::1;-1:-1:-1::0;67425:3:0::1;;67394:394;;;;67810:5;67800:6;;:15;;;;;;;:::i;:::-;::::0;;;-1:-1:-1;;;;67216:607:0:o;48289:1643::-;48450:15;48438:9;:27;48434:90;;;48489:23;;-1:-1:-1;;;48489:23:0;;;;;;;;;;;48434:90;-1:-1:-1;;51154:24:0;;48690:80;;48741:17;;-1:-1:-1;;;48741:17:0;;;;;;;;;;;48690:80;-1:-1:-1;;;;;48786:22:0;;48782:78;;48832:16;;-1:-1:-1;;;48832:16:0;;;;;;;;;;;48782:78;48893:24;48920:743;49044:18;:16;:18::i;:::-;-1:-1:-1;;;;;49461:14:0;;;;;;;:6;:14;;;;;;;;;:16;;;;;;;;49121:423;;49162:155;49121:423;;;17649:25:1;17690:18;;;17683:60;;;;17779:32;;;17759:18;;;17752:60;17828:18;;;17821:34;;;17871:19;;;17864:35;;;;17915:19;;;;17908:35;;;49121:423:0;;;;;;;;;;17621:19:1;;;49121:423:0;;;49085:482;;;;;;;;-1:-1:-1;;;48972:614:0;;;18212:27:1;18255:11;;;18248:27;;;;18291:12;;;18284:28;;;;18328:12;;48972:614:0;;;-1:-1:-1;;48972:614:0;;;;;;;;;48944:657;;48972:614;48944:657;;;;48920:743;;;;;;;;;18578:25:1;18651:4;18639:17;;18619:18;;;18612:45;18673:18;;;18666:34;;;18716:18;;;18709:34;;;18550:19;;48920:743:0;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;48920:743:0;;-1:-1:-1;;48920:743:0;;;-1:-1:-1;;;;;;;49680:30:0;;;;:60;;;49734:6;-1:-1:-1;;;;;49714:26:0;:16;-1:-1:-1;;;;;49714:26:0;;;49680:60;49676:115;;;49764:15;;-1:-1:-1;;;49764:15:0;;;;;;;;;;;49676:115;-1:-1:-1;;;;;49803:27:0;;;;;;;:9;:27;;;;;;;;:37;;;;;;;;;;;;;:46;;;49878;1107:25:1;;;49803:37:0;;49878:46;;;;;1080:18:1;49878:46:0;;;;;;;48289:1643;;;;;;;:::o;43134:814::-;43229:4;-1:-1:-1;;;;;43295:19:0;;43291:74;;43338:15;;-1:-1:-1;;;43338:15:0;;;;;;;;;;;43291:74;-1:-1:-1;;;;;43424:17:0;;43420:75;;43465:18;;-1:-1:-1;;;43465:18:0;;;;;;;;;;;43420:75;-1:-1:-1;;;;;43525:16:0;;43507:15;43525:16;;;:9;:16;;;;;;;;43542:10;43525:28;;;;;;;;-1:-1:-1;;43632:28:0;;43628:108;;43708:16;43718:6;43708:7;:16;:::i;:::-;-1:-1:-1;;;;;43677:16:0;;;;;;:9;:16;;;;;;;;43694:10;43677:28;;;;;;;:47;43628:108;43896:44;43921:5;43928:3;43933:6;43896:24;:44::i;:::-;43889:51;43134:814;-1:-1:-1;;;;;43134:814:0:o;41708:1302::-;-1:-1:-1;;;;;41852:19:0;;41848:74;;41895:15;;-1:-1:-1;;;41895:15:0;;;;;;;;;;;41848:74;-1:-1:-1;;;;;41981:17:0;;41977:75;;42022:18;;-1:-1:-1;;;42022:18:0;;;;;;;;;;;41977:75;64333:16;64377:15;;;:10;:15;;;;;;-1:-1:-1;;;;;42068:25:0;;;64441:27;;42068:25;42064:79;;42117:14;;-1:-1:-1;;;42117:14:0;;;;;;;;;;;42064:79;42246:10;-1:-1:-1;;;;;42246:19:0;;;;;;:59;;-1:-1:-1;;;;;;42270:23:0;;;;;;:16;:23;;;;;;;;42294:10;42270:35;;;;;;;;;;42269:36;42246:59;:93;;;;-1:-1:-1;42323:16:0;;;;:11;:16;;;;;;-1:-1:-1;;;;;42323:16:0;42309:10;:30;;42246:93;42242:147;;;42363:14;;-1:-1:-1;;;42363:14:0;;;;;;;;;;;42242:147;42648:25;42669:3;42648:20;:25::i;:::-;42644:98;;;42697:33;;-1:-1:-1;;;42697:33:0;;;;;;;;;;;42644:98;42926:33;42941:5;42948:3;42953:5;42926:14;:33::i;:::-;42970:32;42986:5;42993:3;42998;42970:15;:32::i;39567:429::-;39706:19;64377:15;;;:10;:15;;;;;;-1:-1:-1;;;;;64441:27:0;39761:10;:25;;;;;:71;;-1:-1:-1;;;;;;39791:29:0;;;;;;:16;:29;;;;;;;;39821:10;39791:41;;;;;;;;;;39790:42;39761:71;39757:125;;;39856:14;;-1:-1:-1;;;39856:14:0;;;;;;;;;;;39757:125;39894:16;;;;:11;:16;;;;;;:27;;-1:-1:-1;;;;;;39894:27:0;-1:-1:-1;;;;;39894:27:0;;;;;;;;;39939:49;;39894:16;;39939:49;;;;;;;39636:360;39567:429;;:::o;33867:220::-;32820:13;:11;:13::i;:::-;-1:-1:-1;;;;;33952:22:0;::::1;33948:93;;33998:31;::::0;-1:-1:-1;;;33998:31:0;;34026:1:::1;33998:31;::::0;::::1;2061:51:1::0;2034:18;;33998:31:0::1;1915:203:1::0;33948:93:0::1;34051:28;34070:8;34051:18;:28::i;38370:419::-:0;38464:16;38493:30;38540:6;38526:21;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;38526:21:0;-1:-1:-1;38493:54:0;-1:-1:-1;38577:6:0;38560:189;38589:15;38598:6;38589;:15;:::i;:::-;38585:1;:19;38560:189;;;38651:22;:16;38671:1;38651:19;:22::i;:::-;38623:13;38637:10;38641:6;38637:1;:10;:::i;:::-;38623:25;;;;;;;;:::i;:::-;;;;;;;;;;:50;38719:3;;38560:189;;;-1:-1:-1;38768:13:0;38370:419;-1:-1:-1;;;38370:419:0:o;25374:172::-;25514:12;-1:-1:-1;;;;;25514:12:0;;;-1:-1:-1;;;25501:10:0;;;;;:25;;;;25493:34;;25374:172::o;33099:166::-;32980:7;33007:6;-1:-1:-1;;;;;33007:6:0;31110:10;33159:23;33155:103;;33206:40;;-1:-1:-1;;;33206:40:0;;31110:10;33206:40;;;2061:51:1;2034:18;;33206:40:0;1915:203:1;68352:376:0;68481:13;;68457:4;;-1:-1:-1;;;68481:13:0;;;;68480:14;:34;;;;-1:-1:-1;32980:7:0;33007:6;-1:-1:-1;;;;;68498:16:0;;;33007:6;;68498:16;;68480:34;:52;;;;-1:-1:-1;32980:7:0;33007:6;-1:-1:-1;;;;;68518:14:0;;;33007:6;;68518:14;;68480:52;68476:175;;;68566:20;;-1:-1:-1;;;;;68557:29:0;;;68566:20;;68557:29;;;;:60;;-1:-1:-1;68597:20:0;;-1:-1:-1;;;;;68590:27:0;;;68597:20;;68590:27;;68557:60;68549:90;;;;-1:-1:-1;;;68549:90:0;;18956:2:1;68549:90:0;;;18938:21:1;18995:2;18975:18;;;18968:30;-1:-1:-1;;;19014:18:1;;;19007:47;19071:18;;68549:90:0;18754:341:1;68549:90:0;68670:50;68701:5;68708:3;68713:6;68670:30;:50::i;51278:462::-;51344:7;51433:135;51603:4;51587:22;;;;;;:::i;:::-;;;;;;;;;;51404:317;;;20576:25:1;;;;20617:18;;20610:34;;;;51628:14:0;20660:18:1;;;20653:34;51661:13:0;20703:18:1;;;20696:34;51701:4:0;20746:19:1;;;20739:61;20548:19;;51404:317:0;;;;;;;;;;;;51380:352;;;;;;51364:368;;51278:462;:::o;34247:191::-;34321:16;34340:6;;-1:-1:-1;;;;;34357:17:0;;;-1:-1:-1;;;;;;34357:17:0;;;;;;34390:40;;34340:6;;;;;;;34390:40;;34321:16;34390:40;34310:128;34247:191;:::o;62790:588::-;-1:-1:-1;;;;;62886:21:0;;62882:79;;62931:18;;-1:-1:-1;;;62931:18:0;;;;;;;;;;;62882:79;63191:6;63187:132;;;63214:28;63234:7;63214:19;:28::i;:::-;63187:132;;;63275:32;63299:7;63275:23;:32::i;:::-;-1:-1:-1;;;;;63331:30:0;;;;;;;;:21;:30;;;;;:39;;-1:-1:-1;;63331:39:0;;;;;;;;;;62790:588::o;17282:718::-;17338:13;17389:14;17406:17;17417:5;17406:10;:17::i;:::-;17426:1;17406:21;17389:38;;17442:20;17476:6;17465:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;17465:18:0;-1:-1:-1;17442:41:0;-1:-1:-1;17607:28:0;;;17623:2;17607:28;17664:290;-1:-1:-1;;17696:5:0;-1:-1:-1;;;17833:2:0;17822:14;;17817:32;17696:5;17804:46;17896:2;17887:11;;;-1:-1:-1;17917:21:0;17664:290;17917:21;-1:-1:-1;17975:6:0;17282:718;-1:-1:-1;;;17282:718:0:o;64494:322::-;64572:12;64587:15;;;:10;:15;;;;;;;;-1:-1:-1;;;;;;64669:31:0;-1:-1:-1;;;;;64719:29:0;;;;64647:116;;;;64786:22;;64494:322::o;65046:443::-;65127:12;65142:15;;;:10;:15;;;;;;65183:27;65174:36;;65170:96;;;65234:20;;-1:-1:-1;;;65234:20:0;;;;;;;;;;;65170:96;65459:15;;;;:10;:15;;;;;;-1:-1:-1;;;;;65332:27:0;;;;65386:3;65382:16;;;;-1:-1:-1;;;;;;65378:43:0;65310:126;65459:22;;65046:443::o;21796:309::-;21922:10;;-1:-1:-1;;;;;;;;21922:10:0;;;;;21968:12;;;21951:13;;:29;;;;21947:53;;21989:11;;-1:-1:-1;;;21989:11:0;;;;;;;;;;;21947:53;-1:-1:-1;;;;;22015:22:0;;;;;;;:11;;;;:22;;;;;;:30;;;;22060:26;;22073:13;;;;22060:26;;-1:-1:-1;;;22060:26:0;;;;;;21796:309::o;51974:746::-;-1:-1:-1;;;;;52222:19:0;;52218:194;;52273:6;52258:11;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;52218:194:0;;-1:-1:-1;52218:194:0;;-1:-1:-1;;;;;52374:16:0;;;;;;:9;:16;;;;;:26;;52394:6;;52374:16;:26;;52394:6;;52374:26;:::i;:::-;;;;-1:-1:-1;;52218:194:0;-1:-1:-1;;;;;52619:14:0;;;;;;;:9;:14;;;;;;;:24;;;;;;52672:40;52619:14;;52672:40;;;-1:-1:-1;;;;;;;;;;;52672:40:0;;;52637:6;1107:25:1;;1095:2;1080:18;;961:177;52672:40:0;;;;;;;;51974:746;;;:::o;53001:1475::-;-1:-1:-1;;;;;53190:19:0;;;53186:602;;53304:16;;;;:11;:16;;;;;;;;53297:23;;-1:-1:-1;;;;;;53297:23:0;;;-1:-1:-1;;;;;53357:13:0;;;;:6;:13;;;;;53371:20;;:24;;53297:23;;53371:24;:::i;:::-;53357:39;;;;;;;;:::i;:::-;;;;;;;;;53337:59;;53428:3;53415:9;:16;53411:310;;53452:20;64939:15;;;:10;:15;;;;;;65010:3;65006:14;-1:-1:-1;;;;;53558:13:0;;;;;;:6;:13;;;;;:27;;53452:42;;-1:-1:-1;53588:9:0;;53452:42;;53558:27;;;;;;:::i;:::-;;;;;;;;;;:39;53666;53681:9;53692:12;53666:14;:39::i;:::-;53433:288;53411:310;-1:-1:-1;;;;;53757:13:0;;;;;;:6;:13;;;;;:19;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;53211:577;53186:602;-1:-1:-1;;;;;53841:17:0;;;53837:576;;54014:21;54026:3;54031;54014:11;:21::i;:::-;-1:-1:-1;;;;;54105:11:0;;;;;;:6;:11;;;;;;;:21;;;;;;;;;;;;;;;;;;54213:11;;;;:18;;54193:43;;54122:3;;54213:22;;54105:21;54213:22;:::i;54193:43::-;53837:576;;;54386:15;;;;:10;:15;;;;;54379:22;53837:576;54464:3;54459;-1:-1:-1;;;;;54430:38:0;54452:5;-1:-1:-1;;;;;54430:38:0;-1:-1:-1;;;;;;;;;;;54430:38:0;;;;;;;;;53001:1475;;;:::o;24560:383::-;24638:13;24677;24684:5;24677:6;:13::i;:::-;24668:5;:22;24664:53;;24699:18;;-1:-1:-1;;;24699:18:0;;;;;;;;;;;24664:53;-1:-1:-1;24894:12:0;;-1:-1:-1;;;;;24894:12:0;;;:29;;24882:42;;;;;:11;;;:42;;;;;;24560:383;;;;:::o;54634:2916::-;-1:-1:-1;;;;;37990:17:0;;;54738:4;37990:17;;;:9;:17;;;;;;;;;;;;;;;54738:4;;37990:17;54895:34;54910:5;54917:3;54922:6;54895:14;:34::i;:::-;54990:31;55024:27;55045:5;55024:20;:27::i;:::-;54990:61;;55062:29;55094:25;55115:3;55094:20;:25::i;:::-;55062:57;;55247:26;:54;;;;;55277:24;55247:54;55243:2276;;55328:26;55324:2195;;;55480:30;55541:36;55572:5;55541:28;:36;:::i;:::-;-1:-1:-1;;;;;55514:14:0;;;;;;:9;:14;;;;;;:22;;55531:5;;55514:22;:::i;:::-;55513:65;;;;:::i;:::-;55480:98;-1:-1:-1;55597:26:0;;55593:111;;55644:44;55660:3;55665:22;55644:15;:44::i;:::-;55356:359;55324:2195;;;55737:24;55733:1786;;;-1:-1:-1;;;;;55962:16:0;;55887:32;55962:16;;;:9;:16;;;;;;:24;;55981:5;;55962:24;:::i;:::-;55923:34;55952:5;55923:26;:34;:::i;:::-;55922:65;;;;:::i;:::-;55887:100;-1:-1:-1;56006:28:0;;56002:125;;56055:56;56079:5;56086:24;56055:23;:56::i;55733:1786::-;56277:22;56302:14;56311:5;56302:6;:14;:::i;:::-;56277:39;-1:-1:-1;56335:18:0;;56331:590;;56437:25;56479:14;56465:29;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;56465:29:0;-1:-1:-1;;;;;;56562:13:0;;56539:20;56562:13;;;:6;:13;;;;;:20;56437:57;;-1:-1:-1;56601:177:0;56625:14;56621:1;:18;56601:177;;;56669:11;56702:1;56683:16;56698:1;56683:12;:16;:::i;:::-;:20;;;;:::i;:::-;-1:-1:-1;;;;;56740:13:0;;;;;;:6;:13;;;;;:18;;56669:34;;-1:-1:-1;56740:13:0;56669:34;;56740:18;;;;;;:::i;:::-;;;;;;;;;56726:8;56735:1;56726:11;;;;;;;;:::i;:::-;;;;;;;;;;:32;-1:-1:-1;56641:3:0;;56601:177;;;;56852:53;56877:5;56884;56891:3;56896:8;56852:24;:53::i;:::-;56355:566;;56331:590;-1:-1:-1;;;;;37990:17:0;;57000:23;37990:17;;;:9;:17;;;;;;57066:29;;57090:5;;57066:29;:::i;:::-;57027:34;57056:5;57027:26;:34;:::i;:::-;57026:70;;;;:::i;:::-;57000:96;;57133:14;57115:15;:32;57111:137;;;57168:64;57192:5;57199:32;57217:14;57199:15;:32;:::i;:::-;57168:23;:64::i;:::-;57264:25;57325:36;57356:5;57325:28;:36;:::i;:::-;57315:5;57293:19;57308:3;-1:-1:-1;;;;;37990:17:0;37963:7;37990:17;;;:9;:17;;;;;;;37894:121;57293:19;:27;;;;:::i;:::-;57292:70;;;;:::i;:::-;57264:98;;57401:14;57381:17;:34;57377:131;;;57436:56;57452:3;57457:34;57477:14;57457:17;:34;:::i;:::-;57436:15;:56::i;:::-;56156:1363;;;55733:1786;-1:-1:-1;57538:4:0;;54634:2916;-1:-1:-1;;;;;;;54634:2916:0:o;63968:292::-;-1:-1:-1;;;;;37857:14:0;;64033:21;37857:14;;;:6;:14;;;;;:21;64098:17;;64094:159;;64194:47;64218:7;64227:13;64194:23;:47::i;63454:440::-;-1:-1:-1;;;;;37990:17:0;;63523:29;37990:17;;;:9;:17;;;;;;63555:31;;63581:5;;63555:31;:::i;:::-;63523:63;;63597:27;63627:24;63643:7;-1:-1:-1;;;;;37857:14:0;37830:7;37857:14;;;:6;:14;;;;;:21;;37760:126;63627:24;63597:54;-1:-1:-1;63662:16:0;63681:43;63597:54;63681:21;:43;:::i;:::-;63662:62;-1:-1:-1;63741:12:0;;63737:150;;63841:34;63857:7;63866:8;63841:15;:34::i;12597:948::-;12650:7;;-1:-1:-1;;;12728:17:0;;12724:106;;-1:-1:-1;;;12766:17:0;;;-1:-1:-1;12812:2:0;12802:12;12724:106;12857:8;12848:5;:17;12844:106;;12895:8;12886:17;;;-1:-1:-1;12932:2:0;12922:12;12844:106;12977:8;12968:5;:17;12964:106;;13015:8;13006:17;;;-1:-1:-1;13052:2:0;13042:12;12964:106;13097:7;13088:5;:16;13084:103;;13134:7;13125:16;;;-1:-1:-1;13170:1:0;13160:11;13084:103;13214:7;13205:5;:16;13201:103;;13251:7;13242:16;;;-1:-1:-1;13287:1:0;13277:11;13201:103;13331:7;13322:5;:16;13318:103;;13368:7;13359:16;;;-1:-1:-1;13404:1:0;13394:11;13318:103;13448:7;13439:5;:16;13435:68;;13486:1;13476:11;13531:6;12597:948;-1:-1:-1;;12597:948:0:o;60030:1175::-;-1:-1:-1;;;;;60118:17:0;;60114:50;;60137:27;;-1:-1:-1;;;60137:27:0;;21145:2:1;60137:27:0;;;21127:21:1;21184:2;21164:18;;;21157:30;-1:-1:-1;;;21203:18:1;;;21196:47;21260:18;;60137:27:0;20943:341:1;60114:50:0;60179:8;60191:1;60179:13;60175:54;;60194:35;;-1:-1:-1;;;60194:35:0;;21491:2:1;60194:35:0;;;21473:21:1;21530:2;21510:18;;;21503:30;-1:-1:-1;;;21549:18:1;;;21542:55;21614:18;;60194:35:0;21289:349:1;60175:54:0;60292:29;60324:25;:16;:23;:25::i;:::-;60292:57;;60388:8;60364:21;:32;60360:100;;;60413:35;;-1:-1:-1;;;60413:35:0;;21845:2:1;60413:35:0;;;21827:21:1;21884:2;21864:18;;;21857:30;21923:27;21903:18;;;21896:55;21968:18;;60413:35:0;21643:349:1;60360:100:0;60540:25;60582:8;60568:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;60568:23:0;-1:-1:-1;60540:51:0;-1:-1:-1;60652:9:0;60647:272;60671:8;60667:1;:12;60647:272;;;60701:10;60714:27;:16;:25;:27::i;:::-;60757:19;64377:15;;;:10;:15;;;;;;;;-1:-1:-1;;;;;;64441:27:0;60836:4;60813:28;;60809:65;;60843:31;;-1:-1:-1;;;60843:31:0;;22199:2:1;60843:31:0;;;22181:21:1;22238:2;22218:18;;;22211:30;-1:-1:-1;;;22257:18:1;;;22250:51;22318:18;;60843:31:0;21997:345:1;60809:65:0;60905:2;60891:8;60900:1;60891:11;;;;;;;;:::i;:::-;;;;;;;;;;:16;-1:-1:-1;;60681:3:0;;60647:272;;;;61006:8;61018:1;61006:13;61002:196;;61036:48;61060:4;61067:3;61072:8;61081:1;61072:11;;;;;;;;:::i;:::-;;;;;;;61036:15;:48::i;:::-;61002:196;;;61117:69;61150:4;61165;61172:3;61177:8;61117:24;:69::i;61465:1196::-;-1:-1:-1;;;;;61563:19:0;;61559:74;;61606:15;;-1:-1:-1;;;61606:15:0;;;;;;;;;;;61559:74;61647:8;61659:1;61647:13;61643:81;;61677:35;;-1:-1:-1;;;61677:35:0;;21491:2:1;61677:35:0;;;21473:21:1;21530:2;21510:18;;;21503:30;-1:-1:-1;;;21549:18:1;;;21542:55;21614:18;;61677:35:0;21289:349:1;61643:81:0;61736:25;61778:8;61764:23;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;61764:23:0;-1:-1:-1;;;;;;61888:13:0;;61865:20;61888:13;;;:6;:13;;;;;:20;61736:51;;-1:-1:-1;61919:376:0;61943:8;61939:1;:12;61919:376;;;62013:11;62046:1;62027:16;62042:1;62027:12;:16;:::i;:::-;:20;;;;:::i;:::-;-1:-1:-1;;;;;62075:13:0;;62062:10;62075:13;;;:6;:13;;;;;:18;;62013:34;;-1:-1:-1;62062:10:0;;62013:34;;62075:18;;;;;;:::i;:::-;;;;;;;;;62062:31;;62186:2;62172:8;62181:1;62172:11;;;;;;;;:::i;:::-;;;;;;;;;;:16;62253:30;:16;62280:2;62253:26;:30::i;:::-;-1:-1:-1;;61953:3:0;;61919:376;;;;62401:1;62390:8;:12;62386:268;;;62419:63;62444:5;62451;62466:4;62473:8;62419:24;:63::i;62386:268::-;62566:50;62582:5;62597:4;62604:8;62613:1;62604:11;;;;;;;;:::i;45191:1777::-;-1:-1:-1;;;;;45369:18:0;;;;;;:38;;-1:-1:-1;;;;;;45391:16:0;;;;45369:38;45361:66;;;;-1:-1:-1;;;45361:66:0;;22549:2:1;45361:66:0;;;22531:21:1;22588:2;22568:18;;;22561:30;-1:-1:-1;;;22607:18:1;;;22600:45;22662:18;;45361:66:0;22347:339:1;45361:66:0;45448:15;45473:4;-1:-1:-1;;;;;45467:10:0;:2;-1:-1:-1;;;;;45467:10:0;;:40;;;-1:-1:-1;;;;;;45481:22:0;;;;;;;:16;:22;;;;;;;;:26;;;;;;;;;;;;45467:40;45541:15;;45448:60;;-1:-1:-1;45521:17:0;45646:1176;45670:9;45666:1;:13;45646:1176;;;45705:15;45723:8;45732:1;45723:11;;;;;;;;:::i;:::-;;;;;;;45705:29;;45783:4;-1:-1:-1;;;;;45759:28:0;:20;45771:7;64333:16;64377:15;;;:10;:15;;;;;;-1:-1:-1;;;;;64441:27:0;;64268:218;45759:20;-1:-1:-1;;;;;45759:28:0;;45755:75;;45789:41;;-1:-1:-1;;;45789:41:0;;22893:2:1;45789:41:0;;;22875:21:1;22932:2;22912:18;;;22905:30;22971:33;22951:18;;;22944:61;23022:18;;45789:41:0;22691:355:1;45755:75:0;45854:10;45853:11;:41;;;;-1:-1:-1;45868:20:0;;;;:11;:20;;;;;;-1:-1:-1;;;;;45868:26:0;;;:20;;:26;;45853:41;45849:71;;;45896:24;;-1:-1:-1;;;45896:24:0;;23253:2:1;45896:24:0;;;23235:21:1;23292:2;23272:18;;;23265:30;-1:-1:-1;;;23311:18:1;;;23304:44;23365:18;;45896:24:0;23051:338:1;45849:71:0;46023:20;;;;:11;:20;;;;;;;;46016:27;;-1:-1:-1;;;;;;46016:27:0;;;-1:-1:-1;;;;;46132:12:0;;;;:6;:12;;;;;46145:19;;-1:-1:-1;;46145:23:0;;;46132:37;;;;;;:::i;:::-;;;;;;;;;46112:57;;46205:7;46192:9;:20;46188:238;;46237:20;64939:15;;;:10;:15;;;;;;65010:3;65006:14;-1:-1:-1;;;;;46306:12:0;;;;;;:6;:12;;;;;:26;;46237:46;;-1:-1:-1;46335:9:0;;46237:46;;46306:26;;;;;;:::i;:::-;;;;;;;;;;:38;46367:39;46382:9;46393:12;46367:14;:39::i;:::-;46214:212;46188:238;-1:-1:-1;;;;;46477:12:0;;;;;;:6;:12;;;;;:18;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;46550:24;46562:7;46571:2;46550:11;:24::i;:::-;-1:-1:-1;;;;;46651:10:0;;;;;;:6;:10;;;;;;;:24;;;;;;;;;;;;;;;;;;;46718:10;;;:17;46694:46;;46667:7;;-1:-1:-1;;46718:21:0;46694:14;:46::i;:::-;46798:7;46794:2;-1:-1:-1;;;;;46766:40:0;46788:4;-1:-1:-1;;;;;46766:40:0;-1:-1:-1;;;;;;;;;;;46766:40:0;;;;;;;;;-1:-1:-1;;45681:3:0;;45646:1176;;;-1:-1:-1;;;;;;46926:22:0;;;;;;;:18;:22;;;;;:34;;;;-1:-1:-1;;;;45191:1777:0:o;23262:366::-;23398:12;;23326:13;;-1:-1:-1;;;;;23398:12:0;;;;-1:-1:-1;;;23443:10:0;;;23429:24;;23425:49;;23462:12;;-1:-1:-1;;;23462:12:0;;;;;;;;;;;23425:49;-1:-1:-1;;;;;23497:23:0;;;;;;;:11;;;;:23;;;;;;;23535:30;;;23580:29;;-1:-1:-1;;;;;;23580:29:0;23595:14;;23580:29;;;;;;;;;;-1:-1:-1;23497:23:0;23262:366::o;22787:312::-;22915:12;;-1:-1:-1;;;;;22915:12:0;;;-1:-1:-1;;22915:16:0;;-1:-1:-1;;;22964:10:0;;;;22950:24;;;;22946:48;;22983:11;;-1:-1:-1;;;22983:11:0;;;;;;;;;;;22946:48;-1:-1:-1;;;;;23009:23:0;;;;;:11;;;:23;;;;;:31;;;;23055:25;;-1:-1:-1;;;;;;23055:25:0;;;;22787:312::o;14:131:1:-;-1:-1:-1;;;;;;88:32:1;;78:43;;68:71;;135:1;132;125:12;150:245;208:6;261:2;249:9;240:7;236:23;232:32;229:52;;;277:1;274;267:12;229:52;316:9;303:23;335:30;359:5;335:30;:::i;592:173::-;660:20;;-1:-1:-1;;;;;709:31:1;;699:42;;689:70;;755:1;752;745:12;770:186;829:6;882:2;870:9;861:7;857:23;853:32;850:52;;;898:1;895;888:12;850:52;921:29;940:9;921:29;:::i;1143:300::-;1196:3;1234:5;1228:12;1261:6;1256:3;1249:19;1317:6;1310:4;1303:5;1299:16;1292:4;1287:3;1283:14;1277:47;1369:1;1362:4;1353:6;1348:3;1344:16;1340:27;1333:38;1432:4;1425:2;1421:7;1416:2;1408:6;1404:15;1400:29;1395:3;1391:39;1387:50;1380:57;;;1143:300;;;;:::o;1448:231::-;1597:2;1586:9;1579:21;1560:4;1617:56;1669:2;1658:9;1654:18;1646:6;1617:56;:::i;1684:226::-;1743:6;1796:2;1784:9;1775:7;1771:23;1767:32;1764:52;;;1812:1;1809;1802:12;1764:52;-1:-1:-1;1857:23:1;;1684:226;-1:-1:-1;1684:226:1:o;2123:300::-;2191:6;2199;2252:2;2240:9;2231:7;2227:23;2223:32;2220:52;;;2268:1;2265;2258:12;2220:52;2291:29;2310:9;2291:29;:::i;:::-;2281:39;2389:2;2374:18;;;;2361:32;;-1:-1:-1;;;2123:300:1:o;2428:374::-;2505:6;2513;2521;2574:2;2562:9;2553:7;2549:23;2545:32;2542:52;;;2590:1;2587;2580:12;2542:52;2613:29;2632:9;2613:29;:::i;:::-;2603:39;;2661:38;2695:2;2684:9;2680:18;2661:38;:::i;:::-;2428:374;;2651:48;;-1:-1:-1;;;2768:2:1;2753:18;;;;2740:32;;2428:374::o;3547:160::-;3612:20;;3668:13;;3661:21;3651:32;;3641:60;;3697:1;3694;3687:12;3712:180;3768:6;3821:2;3809:9;3800:7;3796:23;3792:32;3789:52;;;3837:1;3834;3827:12;3789:52;3860:26;3876:9;3860:26;:::i;3897:931::-;4153:2;4165:21;;;4235:13;;4138:18;;;4257:22;;;4105:4;;4336:15;;;4310:2;4295:18;;;4105:4;4379:423;4393:6;4390:1;4387:13;4379:423;;;4458:6;4452:13;4496:2;4490:9;4485:3;4478:22;4548:2;4544;4540:11;4534:18;4529:2;4524:3;4520:12;4513:40;4601:2;4597;4593:11;4587:18;4582:2;4577:3;4573:12;4566:40;4656:4;4652:2;4648:13;4642:20;4635:4;4630:3;4626:14;4619:44;4713:4;4709:2;4705:13;4699:20;4692:4;4687:3;4683:14;4676:44;;4749:4;4744:3;4740:14;4733:21;;4789:2;4781:6;4777:15;4767:25;;4415:1;4412;4408:9;4403:14;;4379:423;;;-1:-1:-1;4819:3:1;;3897:931;-1:-1:-1;;;;;3897:931:1:o;4833:254::-;4898:6;4906;4959:2;4947:9;4938:7;4934:23;4930:32;4927:52;;;4975:1;4972;4965:12;4927:52;4998:29;5017:9;4998:29;:::i;:::-;4988:39;;5046:35;5077:2;5066:9;5062:18;5046:35;:::i;:::-;5036:45;;4833:254;;;;;:::o;5092:611::-;5282:2;5294:21;;;5364:13;;5267:18;;;5386:22;;;5234:4;;5465:15;;;5439:2;5424:18;;;5234:4;5508:169;5522:6;5519:1;5516:13;5508:169;;;5583:13;;5571:26;;5626:2;5652:15;;;;5617:12;;;;5544:1;5537:9;5508:169;;5708:127;5769:10;5764:3;5760:20;5757:1;5750:31;5800:4;5797:1;5790:15;5824:4;5821:1;5814:15;5840:1207;5935:6;5943;5951;5959;6012:3;6000:9;5991:7;5987:23;5983:33;5980:53;;;6029:1;6026;6019:12;5980:53;6052:29;6071:9;6052:29;:::i;:::-;6042:39;;6100:38;6134:2;6123:9;6119:18;6100:38;:::i;:::-;6090:48;-1:-1:-1;6207:2:1;6192:18;;6179:32;;-1:-1:-1;6286:2:1;6271:18;;6258:32;6313:18;6302:30;;6299:50;;;6345:1;6342;6335:12;6299:50;6368:22;;6421:4;6413:13;;6409:27;-1:-1:-1;6399:55:1;;6450:1;6447;6440:12;6399:55;6490:2;6477:16;6516:18;6508:6;6505:30;6502:56;;;6538:18;;:::i;:::-;6587:2;6581:9;6679:2;6641:17;;-1:-1:-1;;6637:31:1;;;6670:2;6633:40;6629:54;6617:67;;6714:18;6699:34;;6735:22;;;6696:62;6693:88;;;6761:18;;:::i;:::-;6797:2;6790:22;6821;;;6862:15;;;6879:2;6858:24;6855:37;-1:-1:-1;6852:57:1;;;6905:1;6902;6895:12;6852:57;6961:6;6956:2;6952;6948:11;6943:2;6935:6;6931:15;6918:50;7014:1;7009:2;7000:6;6992;6988:19;6984:28;6977:39;7035:6;7025:16;;;;;5840:1207;;;;;;;:::o;7052:903::-;7163:6;7171;7179;7187;7195;7203;7211;7264:3;7252:9;7243:7;7239:23;7235:33;7232:53;;;7281:1;7278;7271:12;7232:53;7304:29;7323:9;7304:29;:::i;:::-;7294:39;;7352:38;7386:2;7375:9;7371:18;7352:38;:::i;:::-;7342:48;-1:-1:-1;7459:2:1;7444:18;;7431:32;;-1:-1:-1;7560:2:1;7545:18;;7532:32;;-1:-1:-1;7642:3:1;7627:19;;7614:33;7691:4;7678:18;;7666:31;;7656:59;;7711:1;7708;7701:12;7656:59;7052:903;;;;-1:-1:-1;7052:903:1;;;;7734:7;7814:3;7799:19;;7786:33;;-1:-1:-1;7918:3:1;7903:19;;;7890:33;;7052:903;-1:-1:-1;;7052:903:1:o;7960:260::-;8028:6;8036;8089:2;8077:9;8068:7;8064:23;8060:32;8057:52;;;8105:1;8102;8095:12;8057:52;8128:29;8147:9;8128:29;:::i;:::-;8118:39;;8176:38;8210:2;8199:9;8195:18;8176:38;:::i;8225:346::-;8293:6;8301;8354:2;8342:9;8333:7;8329:23;8325:32;8322:52;;;8370:1;8367;8360:12;8322:52;-1:-1:-1;;8415:23:1;;;8535:2;8520:18;;;8507:32;;-1:-1:-1;8225:346:1:o;8576:380::-;8655:1;8651:12;;;;8698;;;8719:61;;8773:4;8765:6;8761:17;8751:27;;8719:61;8826:2;8818:6;8815:14;8795:18;8792:38;8789:161;;8872:10;8867:3;8863:20;8860:1;8853:31;8907:4;8904:1;8897:15;8935:4;8932:1;8925:15;8789:161;;8576:380;;;:::o;9656:127::-;9717:10;9712:3;9708:20;9705:1;9698:31;9748:4;9745:1;9738:15;9772:4;9769:1;9762:15;9788:128;9855:9;;;9876:11;;;9873:37;;;9890:18;;:::i;9921:127::-;9982:10;9977:3;9973:20;9970:1;9963:31;10013:4;10010:1;10003:15;10037:4;10034:1;10027:15;10053:120;10093:1;10119;10109:35;;10124:18;;:::i;:::-;-1:-1:-1;10158:9:1;;10053:120::o;10178:112::-;10210:1;10236;10226:35;;10241:18;;:::i;:::-;-1:-1:-1;10275:9:1;;10178:112::o;10295:127::-;10356:10;10351:3;10347:20;10344:1;10337:31;10387:4;10384:1;10377:15;10411:4;10408:1;10401:15;10427:125;10492:9;;;10513:10;;;10510:36;;;10526:18;;:::i;10557:135::-;10596:3;10617:17;;;10614:43;;10637:18;;:::i;:::-;-1:-1:-1;10684:1:1;10673:13;;10557:135::o;10697:496::-;-1:-1:-1;;;;;10928:32:1;;;10910:51;;10997:32;;10992:2;10977:18;;10970:60;11061:2;11046:18;;11039:34;;;11109:3;11104:2;11089:18;;11082:31;;;-1:-1:-1;;11130:57:1;;11167:19;;11159:6;11130:57;:::i;:::-;11122:65;10697:496;-1:-1:-1;;;;;;10697:496:1:o;11198:249::-;11267:6;11320:2;11308:9;11299:7;11295:23;11291:32;11288:52;;;11336:1;11333;11326:12;11288:52;11368:9;11362:16;11387:30;11411:5;11387:30;:::i;11452:212::-;11494:3;11532:5;11526:12;11576:6;11569:4;11562:5;11558:16;11553:3;11547:36;11638:1;11602:16;;11627:13;;;-1:-1:-1;11602:16:1;;11452:212;-1:-1:-1;11452:212:1:o;11669:422::-;11938:3;11969:57;11995:30;12021:3;12013:6;11995:30;:::i;:::-;11987:6;11969:57;:::i;:::-;-1:-1:-1;;;12035:21:1;;12083:1;12072:13;;11669:422;-1:-1:-1;;;;11669:422:1:o;13427:2890::-;-1:-1:-1;;;15172:3:1;15165:16;15210:66;15206:1;15201:3;15197:11;15190:87;15147:3;15299:39;15334:2;15329:3;15325:12;15317:6;15299:39;:::i;:::-;-1:-1:-1;;;15347:29:1;;15407:66;15403:1;15392:13;;15385:89;-1:-1:-1;;;15501:2:1;15490:14;;15483:68;-1:-1:-1;;;15601:2:1;15590:14;;12233:45;15627:41;15664:2;15657:5;15653:14;15645:6;15627:41;:::i;:::-;-1:-1:-1;;;12141:27:1;;15614:54;-1:-1:-1;;;;15758:1:1;15747:13;;12347:55;12490:66;15850:2;15839:14;;12478:79;-1:-1:-1;;;12573:12:1;;;12566:46;15783:72;12628:12;;;15801:6;15783:72;:::i;:::-;-1:-1:-1;;;12701:29:1;;15770:85;-1:-1:-1;12814:66:1;15989:1;15978:13;;12802:79;-1:-1:-1;;;12897:12:1;;;12890:34;15922:71;12940:12;;;15940:6;15922:71;:::i;:::-;-1:-1:-1;;;12701:29:1;;15909:84;-1:-1:-1;13040:66:1;16127:1;16116:13;;13028:79;-1:-1:-1;;;13123:12:1;;;13116:42;16060:71;13174:12;;;16078:6;16060:71;:::i;:::-;-1:-1:-1;;;13247:27:1;;-1:-1:-1;;;16226:1:1;16215:13;;13331:16;-1:-1:-1;;;16279:1:1;16268:13;;13404:16;16309:1;16298:13;;;-1:-1:-1;;;;;;;;13427:2890:1:o;16322:343::-;16574:29;16569:3;16562:42;16544:3;16620:39;16655:2;16650:3;16646:12;16638:6;16620:39;:::i;19229:1083::-;19359:3;19388:1;19421:6;19415:13;19451:1;19478:9;19475:1;19471:17;19461:27;;19538:1;19527:9;19523:17;19559:18;19549:61;;19603:4;19595:6;19591:17;19581:27;;19549:61;19656:2;19648:6;19645:14;19625:18;19622:38;19619:161;;19702:10;19697:3;19693:20;19690:1;19683:31;19737:4;19734:1;19727:15;19765:4;19762:1;19755:15;19619:161;19796:18;19823:133;;;;19970:1;19965:322;;;;19789:498;;19823:133;-1:-1:-1;;19856:24:1;;19844:37;;19929:14;;19922:22;19910:35;;19901:45;;;-1:-1:-1;19823:133:1;;19965:322;19176:1;19169:14;;;19213:4;19200:18;;20063:1;20077:164;20091:6;20088:1;20085:13;20077:164;;;20169:14;;20156:11;;;20149:35;20225:1;20212:15;;;;20113:2;20106:10;20077:164;;;20081:3;;20270:6;20265:3;20261:16;20254:23;;19789:498;-1:-1:-1;20303:3:1;;19229:1083;-1:-1:-1;;;;;;19229:1083:1:o;20811:127::-;20872:10;20867:3;20863:20;20860:1;20853:31;20903:4;20900:1;20893:15;20927:4;20924:1;20917:15
Swarm Source
ipfs://dd87bd36ba68c67ed997de7909ea25b8e0914840931e62a8203f4949df1c5df5
🤖 Code Reader

Generate instant answers for your smart contract questions using AI Models. Read more.

Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.