OP Sepolia Testnet

Contract

0x08aA5922785793A90A472A0a581833e74db8939a
Source Code Source Code

Overview

ETH Balance

0 ETH

More Info

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Amount

There are no matching entries

Please try again later

Parent Transaction Hash Block From To Amount
View All Internal Transactions
Loading...
Loading
Source Code Verified Exact Match

Contract Name

SFFLRegistryRollup

Compiler Version
v0.8.12+commit.f00d7308
Optimization Enabled
Yes with 100 runs
Other Settings
london EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"version","type":"uint8"}],"name":"Initialized","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":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"newPausedStatus","type":"uint256"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract IPauserRegistry","name":"pauserRegistry","type":"address"},{"indexed":false,"internalType":"contract IPauserRegistry","name":"newPauserRegistry","type":"address"}],"name":"PauserRegistrySet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint32","name":"rollupId","type":"uint32"},{"indexed":true,"internalType":"uint64","name":"blockHeight","type":"uint64"},{"indexed":false,"internalType":"bytes32","name":"stateRoot","type":"bytes32"}],"name":"StateRootUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"newPausedStatus","type":"uint256"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"PAUSED_UPDATE_OPERATOR_SET","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PAUSED_UPDATE_STATE_ROOT","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"THRESHOLD_DENOMINATOR","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"aggregator","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getApk","outputs":[{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct BN254.G1Point","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"pubkeyHash","type":"bytes32"}],"name":"getOperatorWeight","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getQuorumThreshold","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"rollupId","type":"uint32"},{"internalType":"uint64","name":"blockHeight","type":"uint64"}],"name":"getStateRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"rollupId","type":"uint32"},{"internalType":"uint64","name":"blockHeight","type":"uint64"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"internalType":"bytes32","name":"nearDaTransactionId","type":"bytes32"},{"internalType":"bytes32","name":"nearDaCommitment","type":"bytes32"},{"internalType":"bytes32","name":"stateRoot","type":"bytes32"}],"internalType":"struct StateRootUpdate.Message","name":"message","type":"tuple"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"storageKey","type":"bytes32"},{"internalType":"bytes","name":"stateTrieWitness","type":"bytes"},{"internalType":"bytes","name":"storageTrieWitness","type":"bytes"}],"internalType":"struct SFFLRegistryBase.ProofParams","name":"proofParams","type":"tuple"}],"name":"getStorageValue","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalWeight","outputs":[{"internalType":"uint128","name":"","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint128","name":"quorumThreshold","type":"uint128"},{"internalType":"address","name":"initialOwner","type":"address"},{"internalType":"address","name":"_aggregator","type":"address"},{"internalType":"contract IPauserRegistry","name":"_pauserRegistry","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"nextOperatorUpdateId","outputs":[{"internalType":"uint64","name":"","type":"uint64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPausedStatus","type":"uint256"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pauseAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"index","type":"uint8"}],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pauserRegistry","outputs":[{"internalType":"contract IPauserRegistry","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct BN254.G1Point","name":"pubkey","type":"tuple"},{"internalType":"uint128","name":"weight","type":"uint128"}],"internalType":"struct RollupOperators.Operator[]","name":"operators","type":"tuple[]"},{"internalType":"uint64","name":"_nextOperatorUpdateId","type":"uint64"}],"name":"setInitialOperatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IPauserRegistry","name":"newPauserRegistry","type":"address"}],"name":"setPauserRegistry","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint128","name":"newQuorumThreshold","type":"uint128"}],"name":"setQuorumThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newPausedStatus","type":"uint256"}],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"rollupId","type":"uint32"},{"internalType":"uint64","name":"blockHeight","type":"uint64"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"internalType":"bytes32","name":"nearDaTransactionId","type":"bytes32"},{"internalType":"bytes32","name":"nearDaCommitment","type":"bytes32"},{"internalType":"bytes32","name":"stateRoot","type":"bytes32"}],"internalType":"struct StateRootUpdate.Message","name":"message","type":"tuple"},{"components":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"storageKey","type":"bytes32"},{"internalType":"bytes","name":"stateTrieWitness","type":"bytes"},{"internalType":"bytes","name":"storageTrieWitness","type":"bytes"}],"internalType":"struct SFFLRegistryBase.ProofParams","name":"proofParams","type":"tuple"},{"internalType":"bytes","name":"agreement","type":"bytes"}],"name":"updateAndGetStorageValue","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint64","name":"id","type":"uint64"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"components":[{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct BN254.G1Point","name":"pubkey","type":"tuple"},{"internalType":"uint128","name":"weight","type":"uint128"}],"internalType":"struct RollupOperators.Operator[]","name":"operators","type":"tuple[]"}],"internalType":"struct OperatorSetUpdate.Message","name":"message","type":"tuple"},{"components":[{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct BN254.G1Point[]","name":"nonSignerPubkeys","type":"tuple[]"},{"components":[{"internalType":"uint256[2]","name":"X","type":"uint256[2]"},{"internalType":"uint256[2]","name":"Y","type":"uint256[2]"}],"internalType":"struct BN254.G2Point","name":"apkG2","type":"tuple"},{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct BN254.G1Point","name":"sigma","type":"tuple"}],"internalType":"struct RollupOperators.SignatureInfo","name":"signatureInfo","type":"tuple"}],"name":"updateOperatorSet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"uint32","name":"rollupId","type":"uint32"},{"internalType":"uint64","name":"blockHeight","type":"uint64"},{"internalType":"uint64","name":"timestamp","type":"uint64"},{"internalType":"bytes32","name":"nearDaTransactionId","type":"bytes32"},{"internalType":"bytes32","name":"nearDaCommitment","type":"bytes32"},{"internalType":"bytes32","name":"stateRoot","type":"bytes32"}],"internalType":"struct StateRootUpdate.Message","name":"message","type":"tuple"},{"components":[{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct BN254.G1Point[]","name":"nonSignerPubkeys","type":"tuple[]"},{"components":[{"internalType":"uint256[2]","name":"X","type":"uint256[2]"},{"internalType":"uint256[2]","name":"Y","type":"uint256[2]"}],"internalType":"struct BN254.G2Point","name":"apkG2","type":"tuple"},{"components":[{"internalType":"uint256","name":"X","type":"uint256"},{"internalType":"uint256","name":"Y","type":"uint256"}],"internalType":"struct BN254.G1Point","name":"sigma","type":"tuple"}],"internalType":"struct RollupOperators.SignatureInfo","name":"signatureInfo","type":"tuple"}],"name":"updateStateRoot","outputs":[],"stateMutability":"nonpayable","type":"function"}]
60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e2576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61428380620000f46000396000f3fe608060405234801561001057600080fd5b50600436106101795760003560e01c8063715018a6116100d9578063d5d4bb5a11610087578063d5d4bb5a1461034e578063dd64766e14610361578063e0f5d9f014610374578063ef0244581461039f578063f2fde38b146103a6578063f4db0571146103b9578063fabc1cbc146103c157600080fd5b8063715018a6146102d657806382616b7b146102de578063886f1195146102f15780638da5cb5b1461030457806390540c3714610315578063b128aeee14610328578063b3a9e53b1461033b57600080fd5b80632db52ea5116101365780632db52ea5146102245780632f65284e146102375780634afa71b914610258578063595c6a67146102705780635ac86ab7146102785780635c975abb146102ab5780636f5b9918146102b357600080fd5b80630510c1911461017e57806306aba0e11461019d57806310d67a2f146101c2578063136439dd146101d75780631fb4d411146101ea578063245a7bfc146101fd575b600080fd5b610186600181565b60405160ff90911681526020015b60405180910390f35b60cd546001600160801b03165b6040516001600160801b039091168152602001610194565b6101d56101d036600461366f565b6103d4565b005b6101d56101e536600461368c565b610490565b6101d56101f83660046136cf565b6105bd565b60ce5461021790600160401b90046001600160a01b031681565b604051610194919061371d565b6101d5610232366004613748565b610646565b61024a610245366004613775565b610659565b604051908152602001610194565b60cd54600160801b90046001600160801b03166101aa565b6101d5610778565b61029b610286366004613818565b606654600160ff9092169190911b9081161490565b6040519015158152602001610194565b60665461024a565b6102bb610832565b60408051825181526020928301519281019290925201610194565b6101d5610855565b6101d56102ec36600461383b565b610869565b606554610217906001600160a01b031681565b6033546001600160a01b0316610217565b6101d561032336600461389c565b6109c6565b6101d56103363660046139ea565b610b16565b61024a610349366004613abe565b610bfa565b61024a61035c366004613af1565b610c2b565b6101aa61036f36600461368c565b610d84565b60ce54610387906001600160401b031681565b6040516001600160401b039091168152602001610194565b60646101aa565b6101d56103b436600461366f565b610da1565b610186600081565b6101d56103cf36600461368c565b610e17565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190613b35565b6001600160a01b0316336001600160a01b0316146104845760405162461bcd60e51b815260040161047b90613b52565b60405180910390fd5b61048d81610f6e565b50565b60655460405163237dfb4760e11b81526001600160a01b03909116906346fbf68e906104c090339060040161371d565b602060405180830381865afa1580156104dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105019190613b9c565b61051d5760405162461bcd60e51b815260040161047b90613bbe565b606654818116146105915760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d707420604482015277746f20756e70617573652066756e6374696f6e616c69747960401b606482015260840161047b565b6066819055604051818152339060008051602061420e833981519152906020015b60405180910390a250565b606654600190600290811614156105e65760405162461bcd60e51b815260040161047b90613c06565b6105fb6105f284611065565b60ca90846110e6565b6106175760405162461bcd60e51b815260040161047b90613c39565b6106416106276020850185613c61565b6106376040860160208701613c7c565b8560a001356114d7565b505050565b61064e61153d565b61048d60ca82611597565b60006060850135158015906106715750608085013515155b6106b85760405162461bcd60e51b8152602060048201526018602482015277115b5c1d1e48139150548811104818dbdb5b5a5d1b595b9d60421b604482015260640161047b565b60006097816106ca6020890189613c61565b63ffffffff1663ffffffff16815260200190815260200160002060008760200160208101906106f99190613c7c565b6001600160401b0316815260208101919091526040016000205490508061076457826107595760405162461bcd60e51b815260206004820152600f60248201526e115b5c1d1e481859dc99595b595b9d608a1b604482015260640161047b565b610764868585611650565b61076e8686610c2b565b9695505050505050565b60655460405163237dfb4760e11b81526001600160a01b03909116906346fbf68e906107a890339060040161371d565b602060405180830381865afa1580156107c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e99190613b9c565b6108055760405162461bcd60e51b815260040161047b90613bbe565b6000196066819055604051908152339060008051602061420e8339815191529060200160405180910390a2565b61083a613546565b506040805180820190915260cb54815260cc54602082015290565b61085d61153d565b6108676000611661565b565b606654600090600190811614156108925760405162461bcd60e51b815260040161047b90613c06565b60ce546001600160401b03166108ab6020850185613c7c565b6001600160401b0316146108f45760405162461bcd60e51b815260206004820152601060248201526f15dc9bdb99c81b595cdcd859d948125160821b604482015260640161047b565b6109006105f2846116b3565b61091c5760405162461bcd60e51b815260040161047b90613c39565b6109296020840184613c7c565b610934906001613cad565b60ce805467ffffffffffffffff19166001600160401b03929092169190911790556106416109656040850185613cd8565b808060200260200160405190810160405280939291908181526020016000905b828210156109b1576109a260608302860136819003810190613d27565b81526020019060010190610985565b505050505060ca6116e790919063ffffffff16565b600054610100900460ff16158080156109e65750600054600160ff909116105b80610a005750303b158015610a00575060005460ff166001145b610a635760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161047b565b6000805460ff191660011790558015610a86576000805461ff0019166101001790555b610a918260006118e9565b610a9a84611661565b610aa560ca86611597565b60ce8054600160401b600160e01b031916600160401b6001600160a01b038616021790558015610b0f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60ce54600160401b90046001600160a01b03163314610b725760405162461bcd60e51b815260206004820152601860248201527729b2b73232b91034b9903737ba1030b3b3b932b3b0ba37b960411b604482015260640161047b565b60cd546001600160801b031615610bcb5760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722073657420616c726561647920696e697469616c697a6564604482015260640161047b565b610bd660ca836116e7565b60ce805467ffffffffffffffff19166001600160401b039290921691909117905550565b63ffffffff821660009081526097602090815260408083206001600160401b03851684529091529020545b92915050565b600080609781610c3e6020870187613c61565b63ffffffff1663ffffffff1681526020019081526020016000206000856020016020810190610c6d9190613c7c565b6001600160401b03166001600160401b031681526020019081526020016000205490508360a001358114610cdd5760405162461bcd60e51b81526020600482015260176024820152764d69736d61746368696e6720737461746520726f6f747360481b604482015260640161047b565b610d7c610ced602085018561366f565b602085013583610d006040880188613d43565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d42925050506060890189613d43565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119c192505050565b949350505050565b600081815260ca60205260408120546001600160801b0316610c25565b610da961153d565b6001600160a01b038116610e0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161047b565b61048d81611661565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8e9190613b35565b6001600160a01b0316336001600160a01b031614610ebe5760405162461bcd60e51b815260040161047b90613b52565b606654198119606654191614610f375760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d706044820152777420746f2070617573652066756e6374696f6e616c69747960401b606482015260840161047b565b606681905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c906020016105b2565b6001600160a01b038116610ffc5760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a40161047b565b606554604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1606580546001600160a01b0319166001600160a01b0392909216919091179055565b60007f482a38e491413194a63664d1808926c0e075bf3aeee17b4a07878c670a8936c5826040516020016110999190613d89565b604051602081830303815290604052805190602001206040516020016110c9929190918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820181905260038501549091906001600160801b03168061115a5760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722073657420776173206e6f7420696e697469616c697a6564604482015260640161047b565b60006111668580613df3565b90506001600160401b0381111561117f5761117f6138f6565b6040519080825280602002602001820160405280156111a8578160200160208202803683370190505b50905060005b6111b88680613df3565b90508110156113985761120b6111ce8780613df3565b838181106111de576111de613e3c565b9050604002018036038101906111f49190613e52565b805160009081526020918201519091526040902090565b82828151811061121d5761121d613e3c565b602090810291909101015280156112b4578161123a600183613e6e565b8151811061124a5761124a613e3c565b602002602001015160001c82828151811061126757611267613e3c565b602002602001015160001c116112b45760405162461bcd60e51b8152602060048201526012602482015271141d589ad95e5cc81b9bdd081cdbdc9d195960721b604482015260640161047b565b60008860000160008484815181106112ce576112ce613e3c565b6020908102919091018101518252810191909152604001600020546001600160801b031690508061133c5760405162461bcd60e51b815260206004820152601860248201527713dc195c985d1bdc881a185cc81e995c9bc81dd95a59da1d60421b604482015260640161047b565b6113766113498880613df3565b8481811061135957611359613e3c565b90506040020180360381019061136f9190613e52565b8690611afc565b94506113828185613e6e565b935050808061139090613e85565b9150506111ae565b506113c66113a584611b93565b6040805180820190915260018a0154815260028a0154602082015290611afc565b92506000806113f988866113e2368b90038b0160208c01613f0f565b6113f4368c90038c0160a08d01613e52565b611c22565b915091508161144a5760405162461bcd60e51b815260206004820152601e60248201527f50616972696e6720707265636f6d70696c652063616c6c206661696c65640000604482015260640161047b565b8061148e5760405162461bcd60e51b815260206004820152601460248201527314da59db985d1d5c99481a5cc81a5b9d985b1a5960621b604482015260640161047b565b60038901546064906114b2906001600160801b03600160801b820481169116613f4e565b6114bc9190613f93565b6001600160801b0316841015955050505050505b9392505050565b63ffffffff831660008181526097602090815260408083206001600160401b03871680855290835292819020859055518481529192917fca7171570f4ca232f925661b810636124eaf784a25b7c14e6b34c95b814dfdd8910160405180910390a3505050565b6033546001600160a01b031633146108675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047b565b60646001600160801b03821611156116035760405162461bcd60e51b815260206004820152602960248201527f51756f72756d207468726573686f6c642067726561746572207468616e2064656044820152683737b6b4b730ba37b960b91b606482015260840161047b565b6003820180546001600160801b03808416600160801b810291909216179091556040517f2b71b2179969a005ac6fd9c196134b364ff40069a17dd72faa96c4a00e73e9f490600090a25050565b8161165b84826105bd565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f6c53db212565b8956d5fc704eb18d9f2372ce861f785ef64103f74e6c2154b3f826040516020016110999190613fb9565b6116ef613560565b60408051808201909152600184015481526002840154602082015260038401546001600160801b031660005b84518110156118ae5784818151811061173657611736613e3c565b6020026020010151935060006117618560000151805160009081526020918201519091526040902090565b60008181526020898152604090912054908701519192506001600160801b0390811691168114156117cd5760405162461bcd60e51b81526020600482015260166024820152754f70657261746f7220697320757020746f206461746560501b604482015260640161047b565b60208601516117dc8286614091565b6117e691906140b9565b6020878101516000858152918b9052604090912080546001600160801b0319166001600160801b03928316179055909450811661183157855161182a908690611afc565b9450611856565b60208601516001600160801b03166118565761185361136f8760000151611b93565b94505b6020808701516040516001600160801b03909116815283917f7714c619c02393ccf44c3de606bec5c80ae7a6077504b74887fb39f335e98adc910160405180910390a2505080806118a690613e85565b91505061171b565b506003850180546001600160801b0319166001600160801b039290921691909117905580516001850155602001516002909301929092555050565b6065546001600160a01b031615801561190a57506001600160a01b03821615155b61198c5760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a40161047b565b6066819055604051818152339060008051602061420e8339815191529060200160405180910390a26119bd82610f6e565b5050565b6040516bffffffffffffffffffffffff19606087901b16602082015260009081908190611a01906034016040516020818303038152906040528688611d81565b9150915081611a4b5760405162461bcd60e51b81526020600482015260166024820152751058d8dbdd5b9d08191bd95cc81b9bdd08195e1a5cdd60521b604482015260640161047b565b6000611a5682611daa565b9050600080611a8b8a604051602001611a7191815260200190565b604051602081830303815290604052888560400151611d81565b9150915081611adc5760405162461bcd60e51b815260206004820152601c60248201527f53746f726167652076616c756520646f6573206e6f7420657869737400000000604482015260640161047b565b611aed611ae882611e6e565b611e81565b9b9a5050505050505050505050565b611b04613546565b611b0c613580565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa9050808015611b4b57611b4d565bfe5b5080611b8b5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b604482015260640161047b565b505092915050565b611b9b613546565b8151158015611bac57506020820151155b15611bca575050604080518082019091526000808252602082015290565b60405180604001604052808360000151815260200160008051602061422e8339815191528460200151611bfd91906140db565b611c159060008051602061422e833981519152613e6e565b905292915050565b919050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187876000015188602001518860000151600060028110611c6a57611c6a613e3c565b60200201518951600160200201518a60200151600060028110611c8f57611c8f613e3c565b60200201518b60200151600160028110611cab57611cab613e3c565b602090810291909101518c518d830151604051611d089a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c611d2b91906140db565b9050611d73611d3d61136f8884611eb0565b611d45611f2c565b611d69611d5a85611d54611fec565b90611eb0565b611d638c61200d565b90611afc565b886201d4c0612091565b909890975095505050505050565b600060606000611d90866122b5565b9050611d9d8186866122e7565b9250925050935093915050565b604080516080810182526000808252602082018190529181018290526060810182905290611dd7836123c2565b90506040518060800160405280611e0783600081518110611dfa57611dfa613e3c565b60200260200101516123d5565b8152602001611e2283600181518110611dfa57611dfa613e3c565b8152602001611e4a83600281518110611e3d57611e3d613e3c565b60200260200101516123dc565b8152602001611e6583600381518110611e3d57611e3d613e3c565b90529392505050565b6060610c25611e7c8361247e565b6124ab565b6000806000602084511115611e97576020611e9a565b83515b60209485015194036008029390931c9392505050565b611eb8613546565b611ec061359e565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa9050808015611b4b575080611b8b5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b604482015260640161047b565b611f346135bc565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b611ff4613546565b5060408051808201909152600181526002602082015290565b612015613546565b6000808061203160008051602061422e833981519152866140db565b90505b61203d81612536565b909350915060008051602061422e833981519152828309831415612077576040805180820190915290815260208101919091529392505050565b60008051602061422e833981519152600182089050612034565b6040805180820182528681526020808201869052825180840190935286835282018490526000918291906120c36135e1565b60005b60028110156122885760006120dc8260066140ef565b90508482600281106120f0576120f0613e3c565b6020020151518361210283600061410e565b600c811061211257612112613e3c565b602002015284826002811061212957612129613e3c565b60200201516020015183826001612140919061410e565b600c811061215057612150613e3c565b602002015283826002811061216757612167613e3c565b602002015151518361217a83600261410e565b600c811061218a5761218a613e3c565b60200201528382600281106121a1576121a1613e3c565b60200201515160016020020151836121ba83600361410e565b600c81106121ca576121ca613e3c565b60200201528382600281106121e1576121e1613e3c565b6020020151602001516000600281106121fc576121fc613e3c565b60200201518361220d83600461410e565b600c811061221d5761221d613e3c565b602002015283826002811061223457612234613e3c565b60200201516020015160016002811061224f5761224f613e3c565b60200201518361226083600561410e565b600c811061227057612270613e3c565b6020020152508061228081613e85565b9150506120c6565b50612291613600565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b606081805190602001206040516020016122d191815260200190565b6040516020818303038152906040529050919050565b6000606060006122f6856125b8565b90506000806000612308848a896126b2565b8151929550909350915015808061231c5750815b6123685760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e000000000000604482015260640161047b565b60008161238457604051806020016040528060008152506123b0565b6123b086612393600188613e6e565b815181106123a3576123a3613e3c565b6020026020010151612ad6565b919b919a509098505050505050505050565b6060610c256123d08361247e565b612b00565b6000610c25825b60006021826000015111156124035760405162461bcd60e51b815260040161047b90614126565b600080600061241185612ce6565b91945092509050600081600181111561242c5761242c61415d565b146124495760405162461bcd60e51b815260040161047b90614126565b600083866020015161245b919061410e565b8051909150602084101561076e5760208490036101000a90049695505050505050565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b606060008060006124bb85612ce6565b9194509250905060008160018111156124d6576124d661415d565b1461251e5760405162461bcd60e51b815260206004820152601860248201527724b73b30b634b21029262810313cba32b9903b30b63ab29760411b604482015260640161047b565b61252d8560200151848461301c565b95945050505050565b6000808060008051602061422e833981519152600360008051602061422e8339815191528660008051602061422e8339815191528889090908905060006125ac827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260008051602061422e8339815191526130fa565b91959194509092505050565b606060006125c5836123c2565b9050600081516001600160401b038111156125e2576125e26138f6565b60405190808252806020026020018201604052801561262757816020015b60408051808201909152606080825260208201528152602001906001900390816126005790505b50905060005b82518110156126aa57600061265a84838151811061264d5761264d613e3c565b60200260200101516124ab565b90506040518060400160405280828152602001612676836123c2565b81525083838151811061268b5761268b613e3c565b60200260200101819052505080806126a290613e85565b91505061262d565b509392505050565b600060608180806126c2876131a2565b905060008690506000806126e9604051806040016040528060608152602001606081525090565b60005b8c51811015612aae578c818151811061270757612707613e3c565b60200260200101519150828461271d919061410e565b935061272a60018861410e565b9650836127825781518051602090910120851461277d5760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b604482015260640161047b565b61283f565b8151516020116127e45781518051602090910120851461277d5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c20686173680000000000604482015260640161047b565b846127f283600001516132dc565b1461283f5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f64652068617368000000000000604482015260640161047b565b61284b6010600161410e565b82602001515114156128c457855184141561286557612aae565b600086858151811061287957612879613e3c565b602001015160f81c60f81b60f81c9050600083602001518260ff16815181106128a4576128a4613e3c565b602002602001015190506128b781613304565b9650600194505050612a9c565b60028260200151511415612a545760006128dd8361333a565b90506000816000815181106128f4576128f4613e3c565b016020015160f81c9050600061290b600283614173565b612916906002614195565b90506000612927848360ff1661335e565b905060006129358b8a61335e565b905060006129438383613394565b905060ff85166002148061295a575060ff85166003145b156129945780835114801561296f5750808251145b156129815761297e818b61410e565b99505b50600160ff1b9950612aae945050505050565b60ff851615806129a7575060ff85166001145b156129fd57825181146129c75750600160ff1b9950612aae945050505050565b6129ee88602001516001815181106129e1576129e1613e3c565b6020026020010151613304565b9a509750612a9c945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b606482015260840161047b565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e000000604482015260640161047b565b80612aa681613e85565b9150506126ec565b50600160ff1b841486612ac1878661335e565b909e909d50909b509950505050505050505050565b60208101518051606091610c2591612af090600190613e6e565b8151811061264d5761264d613e3c565b6060600080612b0e84612ce6565b91935090915060019050816001811115612b2a57612b2a61415d565b14612b715760405162461bcd60e51b815260206004820152601760248201527624b73b30b634b210292628103634b9ba103b30b63ab29760491b604482015260640161047b565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081612b8a5790505090506000835b8651811015612cdb5760208210612c235760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b606482015260840161047b565b600080612c606040518060400160405280858c60000151612c449190613e6e565b8152602001858c60200151612c59919061410e565b9052612ce6565b509150915060405180604001604052808383612c7c919061410e565b8152602001848b60200151612c91919061410e565b815250858581518110612ca657612ca6613e3c565b6020908102919091010152612cbc60018561410e565b9350612cc8818361410e565b612cd2908461410e565b92505050612bb7565b508152949350505050565b600080600080846000015111612d395760405162461bcd60e51b81526020600482015260186024820152772926281034ba32b69031b0b73737ba10313290373ab6361760411b604482015260640161047b565b6020840151805160001a607f8111612d5e576000600160009450945094505050613015565b60b78111612dd6576000612d73608083613e6e565b905080876000015111612dc45760405162461bcd60e51b815260206004820152601960248201527824b73b30b634b2102926281039b437b93a1039ba3934b7339760391b604482015260640161047b565b60019550935060009250613015915050565b60bf8111612ec0576000612deb60b783613e6e565b905080876000015111612e405760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e00604482015260640161047b565b600183015160208290036101000a9004612e5a818361410e565b885111612ea45760405162461bcd60e51b815260206004820152601860248201527724b73b30b634b210292628103637b7339039ba3934b7339760411b604482015260640161047b565b612eaf82600161410e565b965094506000935061301592505050565b60f78111612f35576000612ed560c083613e6e565b905080876000015111612f245760405162461bcd60e51b815260206004820152601760248201527624b73b30b634b2102926281039b437b93a103634b9ba1760491b604482015260640161047b565b600195509350849250613015915050565b6000612f4260f783613e6e565b905080876000015111612f975760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e000000604482015260640161047b565b600183015160208290036101000a9004612fb1818361410e565b885111612ff95760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b604482015260640161047b565b61300482600161410e565b965094506001935061301592505050565b9193909250565b60606000826001600160401b03811115613038576130386138f6565b6040519080825280601f01601f191660200182016040528015613062576020820181803683370190505b5090508051600014156130765790506114d0565b6000613082858761410e565b90506020820160005b6130966020876141b8565b8110156130cd57825182526130ac60208461410e565b92506130b960208361410e565b9150806130c581613e85565b91505061308b565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b600080613105613600565b61310d61361e565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa9250828015611b4b5750826131975760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c757265000000000000604482015260640161047b565b505195945050505050565b60606000825160026131b491906140ef565b6001600160401b038111156131cb576131cb6138f6565b6040519080825280601f01601f1916602001820160405280156131f5576020820181803683370190505b50905060005b83518110156132d557600484828151811061321857613218613e3c565b01602001516001600160f81b031916901c826132358360026140ef565b8151811061324557613245613e3c565b60200101906001600160f81b031916908160001a905350601084828151811061327057613270613e3c565b0160200151613282919060f81c614173565b60f81b826132918360026140ef565b61329c90600161410e565b815181106132ac576132ac613e3c565b60200101906001600160f81b031916908160001a905350806132cd81613e85565b9150506131fb565b5092915050565b60006020825110156132f057506020015190565b81806020019051810190610c2591906141cc565b600060606020836000015110156133255761331e83613410565b9050613331565b61332e836124ab565b90505b6114d0816132dc565b6060610c25613359836020015160008151811061264d5761264d613e3c565b6131a2565b60608251821061337d5750604080516020810190915260008152610c25565b6114d0838384865161338f9190613e6e565b61341b565b6000805b8084511180156133a85750808351115b80156133f957508281815181106133c1576133c1613e3c565b602001015160f81c60f81b6001600160f81b0319168482815181106133e8576133e8613e3c565b01602001516001600160f81b031916145b156114d0578061340881613e85565b915050613398565b6060610c2582613530565b60608161342981601f61410e565b10156134475760405162461bcd60e51b815260040161047b906141e5565b82613452838261410e565b10156134705760405162461bcd60e51b815260040161047b906141e5565b61347a828461410e565b845110156134be5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b604482015260640161047b565b6060821580156134dd5760405191506000825260208201604052613527565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156135165780518352602092830192016134fe565b5050858452601f01601f1916604052505b50949350505050565b6060610c2582602001516000846000015161301c565b604051806040016040528060008152602001600081525090565b6040518060400160405280613573613546565b8152600060209091015290565b60405180608001604052806004906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806135cf61363c565b81526020016135dc61363c565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6001600160a01b038116811461048d57600080fd5b60006020828403121561368157600080fd5b81356114d08161365a565b60006020828403121561369e57600080fd5b5035919050565b600060c082840312156136b757600080fd5b50919050565b600060e082840312156136b757600080fd5b60008060e083850312156136e257600080fd5b6136ec84846136a5565b915060c08301356001600160401b0381111561370757600080fd5b613713858286016136bd565b9150509250929050565b6001600160a01b0391909116815260200190565b80356001600160801b0381168114611c1d57600080fd5b60006020828403121561375a57600080fd5b6114d082613731565b6000608082840312156136b757600080fd5b600080600080610100858703121561378c57600080fd5b61379686866136a5565b935060c08501356001600160401b03808211156137b257600080fd5b6137be88838901613763565b945060e08701359150808211156137d457600080fd5b818701915087601f8301126137e857600080fd5b8135818111156137f757600080fd5b88602082850101111561380957600080fd5b95989497505060200194505050565b60006020828403121561382a57600080fd5b813560ff811681146114d057600080fd5b6000806040838503121561384e57600080fd5b82356001600160401b038082111561386557600080fd5b908401906060828703121561387957600080fd5b9092506020840135908082111561388f57600080fd5b50613713858286016136bd565b600080600080608085870312156138b257600080fd5b6138bb85613731565b935060208501356138cb8161365a565b925060408501356138db8161365a565b915060608501356138eb8161365a565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561392e5761392e6138f6565b60405290565b604051601f8201601f191681016001600160401b038111828210171561395c5761395c6138f6565b604052919050565b60006040828403121561397657600080fd5b61397e61390c565b9050813581526020820135602082015292915050565b6000606082840312156139a657600080fd5b6139ae61390c565b90506139ba8383613964565b81526139c860408301613731565b602082015292915050565b80356001600160401b0381168114611c1d57600080fd5b600080604083850312156139fd57600080fd5b82356001600160401b0380821115613a1457600080fd5b818501915085601f830112613a2857600080fd5b8135602082821115613a3c57613a3c6138f6565b613a4a818360051b01613934565b82815281810193506060928302850182019289841115613a6957600080fd5b948201945b83861015613a8f57613a808a87613994565b85529485019493820193613a6e565b509550613a9d8782016139d3565b9450505050509250929050565b803563ffffffff81168114611c1d57600080fd5b60008060408385031215613ad157600080fd5b613ada83613aaa565b9150613ae8602084016139d3565b90509250929050565b60008060e08385031215613b0457600080fd5b613b0e84846136a5565b915060c08301356001600160401b03811115613b2957600080fd5b61371385828601613763565b600060208284031215613b4757600080fd5b81516114d08161365a565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b600060208284031215613bae57600080fd5b815180151581146114d057600080fd5b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b60208082526019908201527814185d5cd8589b194e881a5b99195e081a5cc81c185d5cd959603a1b604082015260600190565b6020808252600e908201526d145d5bdc9d5b481b9bdd081b595d60921b604082015260600190565b600060208284031215613c7357600080fd5b6114d082613aaa565b600060208284031215613c8e57600080fd5b6114d0826139d3565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613ccf57613ccf613c97565b01949350505050565b6000808335601e19843603018112613cef57600080fd5b8301803591506001600160401b03821115613d0957600080fd5b6020019150606081023603821315613d2057600080fd5b9250929050565b600060608284031215613d3957600080fd5b6114d08383613994565b6000808335601e19843603018112613d5a57600080fd5b8301803591506001600160401b03821115613d7457600080fd5b602001915036819003821315613d2057600080fd5b60c0810163ffffffff613d9b84613aaa565b168252613daa602084016139d3565b6001600160401b03808216602085015280613dc7604087016139d3565b1660408501525050606083013560608301526080830135608083015260a083013560a083015292915050565b6000808335601e19843603018112613e0a57600080fd5b8301803591506001600160401b03821115613e2457600080fd5b6020019150600681901b3603821315613d2057600080fd5b634e487b7160e01b600052603260045260246000fd5b600060408284031215613e6457600080fd5b6114d08383613964565b600082821015613e8057613e80613c97565b500390565b6000600019821415613e9957613e99613c97565b5060010190565b600082601f830112613eb157600080fd5b604051604081018181106001600160401b0382111715613ed357613ed36138f6565b8060405250806040840185811115613eea57600080fd5b845b81811015613f04578035835260209283019201613eec565b509195945050505050565b600060808284031215613f2157600080fd5b613f2961390c565b613f338484613ea0565b8152613f428460408501613ea0565b60208201529392505050565b60006001600160801b0382811684821681151582840482111615613f7457613f74613c97565b02949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b0383811680613fad57613fad613f7d565b92169190910492915050565b60006020808352608083016001600160401b0380613fd6876139d3565b1683860152613fe68387016139d3565b604082821681880152808801359150601e1988360301821261400757600080fd5b9087019081358381111561401a57600080fd5b60609350838102360389131561402f57600080fd5b87840184905293849052908401926000919060a088015b81841015614084578535815286860135878201526001600160801b0361406d848801613731565b168184015294840194600193909301928401614046565b9998505050505050505050565b60006001600160801b03838116908316818110156140b1576140b1613c97565b039392505050565b60006001600160801b03828116848216808303821115613ccf57613ccf613c97565b6000826140ea576140ea613f7d565b500690565b600081600019048311821515161561410957614109613c97565b500290565b6000821982111561412157614121613c97565b500190565b6020808252601a908201527f496e76616c696420524c5020627974657333322076616c75652e000000000000604082015260600190565b634e487b7160e01b600052602160045260246000fd5b600060ff83168061418657614186613f7d565b8060ff84160691505092915050565b600060ff821660ff8416808210156141af576141af613c97565b90039392505050565b6000826141c7576141c7613f7d565b500490565b6000602082840312156141de57600080fd5b5051919050565b6020808252600e908201526d736c6963655f6f766572666c6f7760901b60408201526060019056feab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47a2646970667358221220c5206368b967f84defb752fed54341831da8d4493f79dd8f7c874c113cd227e564736f6c634300080c0033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106101795760003560e01c8063715018a6116100d9578063d5d4bb5a11610087578063d5d4bb5a1461034e578063dd64766e14610361578063e0f5d9f014610374578063ef0244581461039f578063f2fde38b146103a6578063f4db0571146103b9578063fabc1cbc146103c157600080fd5b8063715018a6146102d657806382616b7b146102de578063886f1195146102f15780638da5cb5b1461030457806390540c3714610315578063b128aeee14610328578063b3a9e53b1461033b57600080fd5b80632db52ea5116101365780632db52ea5146102245780632f65284e146102375780634afa71b914610258578063595c6a67146102705780635ac86ab7146102785780635c975abb146102ab5780636f5b9918146102b357600080fd5b80630510c1911461017e57806306aba0e11461019d57806310d67a2f146101c2578063136439dd146101d75780631fb4d411146101ea578063245a7bfc146101fd575b600080fd5b610186600181565b60405160ff90911681526020015b60405180910390f35b60cd546001600160801b03165b6040516001600160801b039091168152602001610194565b6101d56101d036600461366f565b6103d4565b005b6101d56101e536600461368c565b610490565b6101d56101f83660046136cf565b6105bd565b60ce5461021790600160401b90046001600160a01b031681565b604051610194919061371d565b6101d5610232366004613748565b610646565b61024a610245366004613775565b610659565b604051908152602001610194565b60cd54600160801b90046001600160801b03166101aa565b6101d5610778565b61029b610286366004613818565b606654600160ff9092169190911b9081161490565b6040519015158152602001610194565b60665461024a565b6102bb610832565b60408051825181526020928301519281019290925201610194565b6101d5610855565b6101d56102ec36600461383b565b610869565b606554610217906001600160a01b031681565b6033546001600160a01b0316610217565b6101d561032336600461389c565b6109c6565b6101d56103363660046139ea565b610b16565b61024a610349366004613abe565b610bfa565b61024a61035c366004613af1565b610c2b565b6101aa61036f36600461368c565b610d84565b60ce54610387906001600160401b031681565b6040516001600160401b039091168152602001610194565b60646101aa565b6101d56103b436600461366f565b610da1565b610186600081565b6101d56103cf36600461368c565b610e17565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061044b9190613b35565b6001600160a01b0316336001600160a01b0316146104845760405162461bcd60e51b815260040161047b90613b52565b60405180910390fd5b61048d81610f6e565b50565b60655460405163237dfb4760e11b81526001600160a01b03909116906346fbf68e906104c090339060040161371d565b602060405180830381865afa1580156104dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105019190613b9c565b61051d5760405162461bcd60e51b815260040161047b90613bbe565b606654818116146105915760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e70617573653a20696e76616c696420617474656d707420604482015277746f20756e70617573652066756e6374696f6e616c69747960401b606482015260840161047b565b6066819055604051818152339060008051602061420e833981519152906020015b60405180910390a250565b606654600190600290811614156105e65760405162461bcd60e51b815260040161047b90613c06565b6105fb6105f284611065565b60ca90846110e6565b6106175760405162461bcd60e51b815260040161047b90613c39565b6106416106276020850185613c61565b6106376040860160208701613c7c565b8560a001356114d7565b505050565b61064e61153d565b61048d60ca82611597565b60006060850135158015906106715750608085013515155b6106b85760405162461bcd60e51b8152602060048201526018602482015277115b5c1d1e48139150548811104818dbdb5b5a5d1b595b9d60421b604482015260640161047b565b60006097816106ca6020890189613c61565b63ffffffff1663ffffffff16815260200190815260200160002060008760200160208101906106f99190613c7c565b6001600160401b0316815260208101919091526040016000205490508061076457826107595760405162461bcd60e51b815260206004820152600f60248201526e115b5c1d1e481859dc99595b595b9d608a1b604482015260640161047b565b610764868585611650565b61076e8686610c2b565b9695505050505050565b60655460405163237dfb4760e11b81526001600160a01b03909116906346fbf68e906107a890339060040161371d565b602060405180830381865afa1580156107c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e99190613b9c565b6108055760405162461bcd60e51b815260040161047b90613bbe565b6000196066819055604051908152339060008051602061420e8339815191529060200160405180910390a2565b61083a613546565b506040805180820190915260cb54815260cc54602082015290565b61085d61153d565b6108676000611661565b565b606654600090600190811614156108925760405162461bcd60e51b815260040161047b90613c06565b60ce546001600160401b03166108ab6020850185613c7c565b6001600160401b0316146108f45760405162461bcd60e51b815260206004820152601060248201526f15dc9bdb99c81b595cdcd859d948125160821b604482015260640161047b565b6109006105f2846116b3565b61091c5760405162461bcd60e51b815260040161047b90613c39565b6109296020840184613c7c565b610934906001613cad565b60ce805467ffffffffffffffff19166001600160401b03929092169190911790556106416109656040850185613cd8565b808060200260200160405190810160405280939291908181526020016000905b828210156109b1576109a260608302860136819003810190613d27565b81526020019060010190610985565b505050505060ca6116e790919063ffffffff16565b600054610100900460ff16158080156109e65750600054600160ff909116105b80610a005750303b158015610a00575060005460ff166001145b610a635760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161047b565b6000805460ff191660011790558015610a86576000805461ff0019166101001790555b610a918260006118e9565b610a9a84611661565b610aa560ca86611597565b60ce8054600160401b600160e01b031916600160401b6001600160a01b038616021790558015610b0f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b60ce54600160401b90046001600160a01b03163314610b725760405162461bcd60e51b815260206004820152601860248201527729b2b73232b91034b9903737ba1030b3b3b932b3b0ba37b960411b604482015260640161047b565b60cd546001600160801b031615610bcb5760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722073657420616c726561647920696e697469616c697a6564604482015260640161047b565b610bd660ca836116e7565b60ce805467ffffffffffffffff19166001600160401b039290921691909117905550565b63ffffffff821660009081526097602090815260408083206001600160401b03851684529091529020545b92915050565b600080609781610c3e6020870187613c61565b63ffffffff1663ffffffff1681526020019081526020016000206000856020016020810190610c6d9190613c7c565b6001600160401b03166001600160401b031681526020019081526020016000205490508360a001358114610cdd5760405162461bcd60e51b81526020600482015260176024820152764d69736d61746368696e6720737461746520726f6f747360481b604482015260640161047b565b610d7c610ced602085018561366f565b602085013583610d006040880188613d43565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d42925050506060890189613d43565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152506119c192505050565b949350505050565b600081815260ca60205260408120546001600160801b0316610c25565b610da961153d565b6001600160a01b038116610e0e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161047b565b61048d81611661565b606560009054906101000a90046001600160a01b03166001600160a01b031663eab66d7a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610e6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e8e9190613b35565b6001600160a01b0316336001600160a01b031614610ebe5760405162461bcd60e51b815260040161047b90613b52565b606654198119606654191614610f375760405162461bcd60e51b815260206004820152603860248201527f5061757361626c652e756e70617573653a20696e76616c696420617474656d706044820152777420746f2070617573652066756e6374696f6e616c69747960401b606482015260840161047b565b606681905560405181815233907f3582d1828e26bf56bd801502bc021ac0bc8afb57c826e4986b45593c8fad389c906020016105b2565b6001600160a01b038116610ffc5760405162461bcd60e51b815260206004820152604960248201527f5061757361626c652e5f73657450617573657252656769737472793a206e657760448201527f50617573657252656769737472792063616e6e6f7420626520746865207a65726064820152686f206164647265737360b81b608482015260a40161047b565b606554604080516001600160a01b03928316815291831660208301527f6e9fcd539896fca60e8b0f01dd580233e48a6b0f7df013b89ba7f565869acdb6910160405180910390a1606580546001600160a01b0319166001600160a01b0392909216919091179055565b60007f482a38e491413194a63664d1808926c0e075bf3aeee17b4a07878c670a8936c5826040516020016110999190613d89565b604051602081830303815290604052805190602001206040516020016110c9929190918252602082015260400190565b604051602081830303815290604052805190602001209050919050565b6040805180820190915260008082526020820181905260038501549091906001600160801b03168061115a5760405162461bcd60e51b815260206004820181905260248201527f4f70657261746f722073657420776173206e6f7420696e697469616c697a6564604482015260640161047b565b60006111668580613df3565b90506001600160401b0381111561117f5761117f6138f6565b6040519080825280602002602001820160405280156111a8578160200160208202803683370190505b50905060005b6111b88680613df3565b90508110156113985761120b6111ce8780613df3565b838181106111de576111de613e3c565b9050604002018036038101906111f49190613e52565b805160009081526020918201519091526040902090565b82828151811061121d5761121d613e3c565b602090810291909101015280156112b4578161123a600183613e6e565b8151811061124a5761124a613e3c565b602002602001015160001c82828151811061126757611267613e3c565b602002602001015160001c116112b45760405162461bcd60e51b8152602060048201526012602482015271141d589ad95e5cc81b9bdd081cdbdc9d195960721b604482015260640161047b565b60008860000160008484815181106112ce576112ce613e3c565b6020908102919091018101518252810191909152604001600020546001600160801b031690508061133c5760405162461bcd60e51b815260206004820152601860248201527713dc195c985d1bdc881a185cc81e995c9bc81dd95a59da1d60421b604482015260640161047b565b6113766113498880613df3565b8481811061135957611359613e3c565b90506040020180360381019061136f9190613e52565b8690611afc565b94506113828185613e6e565b935050808061139090613e85565b9150506111ae565b506113c66113a584611b93565b6040805180820190915260018a0154815260028a0154602082015290611afc565b92506000806113f988866113e2368b90038b0160208c01613f0f565b6113f4368c90038c0160a08d01613e52565b611c22565b915091508161144a5760405162461bcd60e51b815260206004820152601e60248201527f50616972696e6720707265636f6d70696c652063616c6c206661696c65640000604482015260640161047b565b8061148e5760405162461bcd60e51b815260206004820152601460248201527314da59db985d1d5c99481a5cc81a5b9d985b1a5960621b604482015260640161047b565b60038901546064906114b2906001600160801b03600160801b820481169116613f4e565b6114bc9190613f93565b6001600160801b0316841015955050505050505b9392505050565b63ffffffff831660008181526097602090815260408083206001600160401b03871680855290835292819020859055518481529192917fca7171570f4ca232f925661b810636124eaf784a25b7c14e6b34c95b814dfdd8910160405180910390a3505050565b6033546001600160a01b031633146108675760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047b565b60646001600160801b03821611156116035760405162461bcd60e51b815260206004820152602960248201527f51756f72756d207468726573686f6c642067726561746572207468616e2064656044820152683737b6b4b730ba37b960b91b606482015260840161047b565b6003820180546001600160801b03808416600160801b810291909216179091556040517f2b71b2179969a005ac6fd9c196134b364ff40069a17dd72faa96c4a00e73e9f490600090a25050565b8161165b84826105bd565b50505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60007f6c53db212565b8956d5fc704eb18d9f2372ce861f785ef64103f74e6c2154b3f826040516020016110999190613fb9565b6116ef613560565b60408051808201909152600184015481526002840154602082015260038401546001600160801b031660005b84518110156118ae5784818151811061173657611736613e3c565b6020026020010151935060006117618560000151805160009081526020918201519091526040902090565b60008181526020898152604090912054908701519192506001600160801b0390811691168114156117cd5760405162461bcd60e51b81526020600482015260166024820152754f70657261746f7220697320757020746f206461746560501b604482015260640161047b565b60208601516117dc8286614091565b6117e691906140b9565b6020878101516000858152918b9052604090912080546001600160801b0319166001600160801b03928316179055909450811661183157855161182a908690611afc565b9450611856565b60208601516001600160801b03166118565761185361136f8760000151611b93565b94505b6020808701516040516001600160801b03909116815283917f7714c619c02393ccf44c3de606bec5c80ae7a6077504b74887fb39f335e98adc910160405180910390a2505080806118a690613e85565b91505061171b565b506003850180546001600160801b0319166001600160801b039290921691909117905580516001850155602001516002909301929092555050565b6065546001600160a01b031615801561190a57506001600160a01b03821615155b61198c5760405162461bcd60e51b815260206004820152604760248201527f5061757361626c652e5f696e697469616c697a655061757365723a205f696e6960448201527f7469616c697a6550617573657228292063616e206f6e6c792062652063616c6c6064820152666564206f6e636560c81b608482015260a40161047b565b6066819055604051818152339060008051602061420e8339815191529060200160405180910390a26119bd82610f6e565b5050565b6040516bffffffffffffffffffffffff19606087901b16602082015260009081908190611a01906034016040516020818303038152906040528688611d81565b9150915081611a4b5760405162461bcd60e51b81526020600482015260166024820152751058d8dbdd5b9d08191bd95cc81b9bdd08195e1a5cdd60521b604482015260640161047b565b6000611a5682611daa565b9050600080611a8b8a604051602001611a7191815260200190565b604051602081830303815290604052888560400151611d81565b9150915081611adc5760405162461bcd60e51b815260206004820152601c60248201527f53746f726167652076616c756520646f6573206e6f7420657869737400000000604482015260640161047b565b611aed611ae882611e6e565b611e81565b9b9a5050505050505050505050565b611b04613546565b611b0c613580565b835181526020808501518183015283516040808401919091529084015160608301526000908360808460066107d05a03fa9050808015611b4b57611b4d565bfe5b5080611b8b5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5859190b59985a5b1959609a1b604482015260640161047b565b505092915050565b611b9b613546565b8151158015611bac57506020820151155b15611bca575050604080518082019091526000808252602082015290565b60405180604001604052808360000151815260200160008051602061422e8339815191528460200151611bfd91906140db565b611c159060008051602061422e833981519152613e6e565b905292915050565b919050565b60008060007f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000187876000015188602001518860000151600060028110611c6a57611c6a613e3c565b60200201518951600160200201518a60200151600060028110611c8f57611c8f613e3c565b60200201518b60200151600160028110611cab57611cab613e3c565b602090810291909101518c518d830151604051611d089a99989796959401988952602089019790975260408801959095526060870193909352608086019190915260a085015260c084015260e08301526101008201526101200190565b6040516020818303038152906040528051906020012060001c611d2b91906140db565b9050611d73611d3d61136f8884611eb0565b611d45611f2c565b611d69611d5a85611d54611fec565b90611eb0565b611d638c61200d565b90611afc565b886201d4c0612091565b909890975095505050505050565b600060606000611d90866122b5565b9050611d9d8186866122e7565b9250925050935093915050565b604080516080810182526000808252602082018190529181018290526060810182905290611dd7836123c2565b90506040518060800160405280611e0783600081518110611dfa57611dfa613e3c565b60200260200101516123d5565b8152602001611e2283600181518110611dfa57611dfa613e3c565b8152602001611e4a83600281518110611e3d57611e3d613e3c565b60200260200101516123dc565b8152602001611e6583600381518110611e3d57611e3d613e3c565b90529392505050565b6060610c25611e7c8361247e565b6124ab565b6000806000602084511115611e97576020611e9a565b83515b60209485015194036008029390931c9392505050565b611eb8613546565b611ec061359e565b835181526020808501519082015260408082018490526000908360608460076107d05a03fa9050808015611b4b575080611b8b5760405162461bcd60e51b815260206004820152600d60248201526c1958cb5b5d5b0b59985a5b1959609a1b604482015260640161047b565b611f346135bc565b50604080516080810182527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c28183019081527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6060830152815281518083019092527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec82527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d60208381019190915281019190915290565b611ff4613546565b5060408051808201909152600181526002602082015290565b612015613546565b6000808061203160008051602061422e833981519152866140db565b90505b61203d81612536565b909350915060008051602061422e833981519152828309831415612077576040805180820190915290815260208101919091529392505050565b60008051602061422e833981519152600182089050612034565b6040805180820182528681526020808201869052825180840190935286835282018490526000918291906120c36135e1565b60005b60028110156122885760006120dc8260066140ef565b90508482600281106120f0576120f0613e3c565b6020020151518361210283600061410e565b600c811061211257612112613e3c565b602002015284826002811061212957612129613e3c565b60200201516020015183826001612140919061410e565b600c811061215057612150613e3c565b602002015283826002811061216757612167613e3c565b602002015151518361217a83600261410e565b600c811061218a5761218a613e3c565b60200201528382600281106121a1576121a1613e3c565b60200201515160016020020151836121ba83600361410e565b600c81106121ca576121ca613e3c565b60200201528382600281106121e1576121e1613e3c565b6020020151602001516000600281106121fc576121fc613e3c565b60200201518361220d83600461410e565b600c811061221d5761221d613e3c565b602002015283826002811061223457612234613e3c565b60200201516020015160016002811061224f5761224f613e3c565b60200201518361226083600561410e565b600c811061227057612270613e3c565b6020020152508061228081613e85565b9150506120c6565b50612291613600565b60006020826101808560088cfa9151919c9115159b50909950505050505050505050565b606081805190602001206040516020016122d191815260200190565b6040516020818303038152906040529050919050565b6000606060006122f6856125b8565b90506000806000612308848a896126b2565b8151929550909350915015808061231c5750815b6123685760405162461bcd60e51b815260206004820152601a60248201527f50726f76696465642070726f6f6620697320696e76616c69642e000000000000604482015260640161047b565b60008161238457604051806020016040528060008152506123b0565b6123b086612393600188613e6e565b815181106123a3576123a3613e3c565b6020026020010151612ad6565b919b919a509098505050505050505050565b6060610c256123d08361247e565b612b00565b6000610c25825b60006021826000015111156124035760405162461bcd60e51b815260040161047b90614126565b600080600061241185612ce6565b91945092509050600081600181111561242c5761242c61415d565b146124495760405162461bcd60e51b815260040161047b90614126565b600083866020015161245b919061410e565b8051909150602084101561076e5760208490036101000a90049695505050505050565b60408051808201825260008082526020918201528151808301909252825182529182019181019190915290565b606060008060006124bb85612ce6565b9194509250905060008160018111156124d6576124d661415d565b1461251e5760405162461bcd60e51b815260206004820152601860248201527724b73b30b634b21029262810313cba32b9903b30b63ab29760411b604482015260640161047b565b61252d8560200151848461301c565b95945050505050565b6000808060008051602061422e833981519152600360008051602061422e8339815191528660008051602061422e8339815191528889090908905060006125ac827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260008051602061422e8339815191526130fa565b91959194509092505050565b606060006125c5836123c2565b9050600081516001600160401b038111156125e2576125e26138f6565b60405190808252806020026020018201604052801561262757816020015b60408051808201909152606080825260208201528152602001906001900390816126005790505b50905060005b82518110156126aa57600061265a84838151811061264d5761264d613e3c565b60200260200101516124ab565b90506040518060400160405280828152602001612676836123c2565b81525083838151811061268b5761268b613e3c565b60200260200101819052505080806126a290613e85565b91505061262d565b509392505050565b600060608180806126c2876131a2565b905060008690506000806126e9604051806040016040528060608152602001606081525090565b60005b8c51811015612aae578c818151811061270757612707613e3c565b60200260200101519150828461271d919061410e565b935061272a60018861410e565b9650836127825781518051602090910120851461277d5760405162461bcd60e51b8152602060048201526011602482015270092dcecc2d8d2c840e4dedee840d0c2e6d607b1b604482015260640161047b565b61283f565b8151516020116127e45781518051602090910120851461277d5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206c6172676520696e7465726e616c20686173680000000000604482015260640161047b565b846127f283600001516132dc565b1461283f5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420696e7465726e616c206e6f64652068617368000000000000604482015260640161047b565b61284b6010600161410e565b82602001515114156128c457855184141561286557612aae565b600086858151811061287957612879613e3c565b602001015160f81c60f81b60f81c9050600083602001518260ff16815181106128a4576128a4613e3c565b602002602001015190506128b781613304565b9650600194505050612a9c565b60028260200151511415612a545760006128dd8361333a565b90506000816000815181106128f4576128f4613e3c565b016020015160f81c9050600061290b600283614173565b612916906002614195565b90506000612927848360ff1661335e565b905060006129358b8a61335e565b905060006129438383613394565b905060ff85166002148061295a575060ff85166003145b156129945780835114801561296f5750808251145b156129815761297e818b61410e565b99505b50600160ff1b9950612aae945050505050565b60ff851615806129a7575060ff85166001145b156129fd57825181146129c75750600160ff1b9950612aae945050505050565b6129ee88602001516001815181106129e1576129e1613e3c565b6020026020010151613304565b9a509750612a9c945050505050565b60405162461bcd60e51b815260206004820152602660248201527f52656365697665642061206e6f6465207769746820616e20756e6b6e6f776e206044820152650e0e4caccd2f60d31b606482015260840161047b565b60405162461bcd60e51b815260206004820152601d60248201527f526563656976656420616e20756e706172736561626c65206e6f64652e000000604482015260640161047b565b80612aa681613e85565b9150506126ec565b50600160ff1b841486612ac1878661335e565b909e909d50909b509950505050505050505050565b60208101518051606091610c2591612af090600190613e6e565b8151811061264d5761264d613e3c565b6060600080612b0e84612ce6565b91935090915060019050816001811115612b2a57612b2a61415d565b14612b715760405162461bcd60e51b815260206004820152601760248201527624b73b30b634b210292628103634b9ba103b30b63ab29760491b604482015260640161047b565b6040805160208082526104208201909252600091816020015b6040805180820190915260008082526020820152815260200190600190039081612b8a5790505090506000835b8651811015612cdb5760208210612c235760405162461bcd60e51b815260206004820152602a60248201527f50726f766964656420524c50206c6973742065786365656473206d6178206c6960448201526939ba103632b733ba341760b11b606482015260840161047b565b600080612c606040518060400160405280858c60000151612c449190613e6e565b8152602001858c60200151612c59919061410e565b9052612ce6565b509150915060405180604001604052808383612c7c919061410e565b8152602001848b60200151612c91919061410e565b815250858581518110612ca657612ca6613e3c565b6020908102919091010152612cbc60018561410e565b9350612cc8818361410e565b612cd2908461410e565b92505050612bb7565b508152949350505050565b600080600080846000015111612d395760405162461bcd60e51b81526020600482015260186024820152772926281034ba32b69031b0b73737ba10313290373ab6361760411b604482015260640161047b565b6020840151805160001a607f8111612d5e576000600160009450945094505050613015565b60b78111612dd6576000612d73608083613e6e565b905080876000015111612dc45760405162461bcd60e51b815260206004820152601960248201527824b73b30b634b2102926281039b437b93a1039ba3934b7339760391b604482015260640161047b565b60019550935060009250613015915050565b60bf8111612ec0576000612deb60b783613e6e565b905080876000015111612e405760405162461bcd60e51b815260206004820152601f60248201527f496e76616c696420524c50206c6f6e6720737472696e67206c656e6774682e00604482015260640161047b565b600183015160208290036101000a9004612e5a818361410e565b885111612ea45760405162461bcd60e51b815260206004820152601860248201527724b73b30b634b210292628103637b7339039ba3934b7339760411b604482015260640161047b565b612eaf82600161410e565b965094506000935061301592505050565b60f78111612f35576000612ed560c083613e6e565b905080876000015111612f245760405162461bcd60e51b815260206004820152601760248201527624b73b30b634b2102926281039b437b93a103634b9ba1760491b604482015260640161047b565b600195509350849250613015915050565b6000612f4260f783613e6e565b905080876000015111612f975760405162461bcd60e51b815260206004820152601d60248201527f496e76616c696420524c50206c6f6e67206c697374206c656e6774682e000000604482015260640161047b565b600183015160208290036101000a9004612fb1818361410e565b885111612ff95760405162461bcd60e51b815260206004820152601660248201527524b73b30b634b210292628103637b733903634b9ba1760511b604482015260640161047b565b61300482600161410e565b965094506001935061301592505050565b9193909250565b60606000826001600160401b03811115613038576130386138f6565b6040519080825280601f01601f191660200182016040528015613062576020820181803683370190505b5090508051600014156130765790506114d0565b6000613082858761410e565b90506020820160005b6130966020876141b8565b8110156130cd57825182526130ac60208461410e565b92506130b960208361410e565b9150806130c581613e85565b91505061308b565b5060006001602087066020036101000a039050808251168119845116178252839450505050509392505050565b600080613105613600565b61310d61361e565b602080825281810181905260408201819052606082018890526080820187905260a082018690528260c08360056107d05a03fa9250828015611b4b5750826131975760405162461bcd60e51b815260206004820152601a60248201527f424e3235342e6578704d6f643a2063616c6c206661696c757265000000000000604482015260640161047b565b505195945050505050565b60606000825160026131b491906140ef565b6001600160401b038111156131cb576131cb6138f6565b6040519080825280601f01601f1916602001820160405280156131f5576020820181803683370190505b50905060005b83518110156132d557600484828151811061321857613218613e3c565b01602001516001600160f81b031916901c826132358360026140ef565b8151811061324557613245613e3c565b60200101906001600160f81b031916908160001a905350601084828151811061327057613270613e3c565b0160200151613282919060f81c614173565b60f81b826132918360026140ef565b61329c90600161410e565b815181106132ac576132ac613e3c565b60200101906001600160f81b031916908160001a905350806132cd81613e85565b9150506131fb565b5092915050565b60006020825110156132f057506020015190565b81806020019051810190610c2591906141cc565b600060606020836000015110156133255761331e83613410565b9050613331565b61332e836124ab565b90505b6114d0816132dc565b6060610c25613359836020015160008151811061264d5761264d613e3c565b6131a2565b60608251821061337d5750604080516020810190915260008152610c25565b6114d0838384865161338f9190613e6e565b61341b565b6000805b8084511180156133a85750808351115b80156133f957508281815181106133c1576133c1613e3c565b602001015160f81c60f81b6001600160f81b0319168482815181106133e8576133e8613e3c565b01602001516001600160f81b031916145b156114d0578061340881613e85565b915050613398565b6060610c2582613530565b60608161342981601f61410e565b10156134475760405162461bcd60e51b815260040161047b906141e5565b82613452838261410e565b10156134705760405162461bcd60e51b815260040161047b906141e5565b61347a828461410e565b845110156134be5760405162461bcd60e51b8152602060048201526011602482015270736c6963655f6f75744f66426f756e647360781b604482015260640161047b565b6060821580156134dd5760405191506000825260208201604052613527565b6040519150601f8416801560200281840101858101878315602002848b0101015b818310156135165780518352602092830192016134fe565b5050858452601f01601f1916604052505b50949350505050565b6060610c2582602001516000846000015161301c565b604051806040016040528060008152602001600081525090565b6040518060400160405280613573613546565b8152600060209091015290565b60405180608001604052806004906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b60405180604001604052806135cf61363c565b81526020016135dc61363c565b905290565b604051806101800160405280600c906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b6040518060c001604052806006906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6001600160a01b038116811461048d57600080fd5b60006020828403121561368157600080fd5b81356114d08161365a565b60006020828403121561369e57600080fd5b5035919050565b600060c082840312156136b757600080fd5b50919050565b600060e082840312156136b757600080fd5b60008060e083850312156136e257600080fd5b6136ec84846136a5565b915060c08301356001600160401b0381111561370757600080fd5b613713858286016136bd565b9150509250929050565b6001600160a01b0391909116815260200190565b80356001600160801b0381168114611c1d57600080fd5b60006020828403121561375a57600080fd5b6114d082613731565b6000608082840312156136b757600080fd5b600080600080610100858703121561378c57600080fd5b61379686866136a5565b935060c08501356001600160401b03808211156137b257600080fd5b6137be88838901613763565b945060e08701359150808211156137d457600080fd5b818701915087601f8301126137e857600080fd5b8135818111156137f757600080fd5b88602082850101111561380957600080fd5b95989497505060200194505050565b60006020828403121561382a57600080fd5b813560ff811681146114d057600080fd5b6000806040838503121561384e57600080fd5b82356001600160401b038082111561386557600080fd5b908401906060828703121561387957600080fd5b9092506020840135908082111561388f57600080fd5b50613713858286016136bd565b600080600080608085870312156138b257600080fd5b6138bb85613731565b935060208501356138cb8161365a565b925060408501356138db8161365a565b915060608501356138eb8161365a565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b604080519081016001600160401b038111828210171561392e5761392e6138f6565b60405290565b604051601f8201601f191681016001600160401b038111828210171561395c5761395c6138f6565b604052919050565b60006040828403121561397657600080fd5b61397e61390c565b9050813581526020820135602082015292915050565b6000606082840312156139a657600080fd5b6139ae61390c565b90506139ba8383613964565b81526139c860408301613731565b602082015292915050565b80356001600160401b0381168114611c1d57600080fd5b600080604083850312156139fd57600080fd5b82356001600160401b0380821115613a1457600080fd5b818501915085601f830112613a2857600080fd5b8135602082821115613a3c57613a3c6138f6565b613a4a818360051b01613934565b82815281810193506060928302850182019289841115613a6957600080fd5b948201945b83861015613a8f57613a808a87613994565b85529485019493820193613a6e565b509550613a9d8782016139d3565b9450505050509250929050565b803563ffffffff81168114611c1d57600080fd5b60008060408385031215613ad157600080fd5b613ada83613aaa565b9150613ae8602084016139d3565b90509250929050565b60008060e08385031215613b0457600080fd5b613b0e84846136a5565b915060c08301356001600160401b03811115613b2957600080fd5b61371385828601613763565b600060208284031215613b4757600080fd5b81516114d08161365a565b6020808252602a908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526939903ab73830bab9b2b960b11b606082015260800190565b600060208284031215613bae57600080fd5b815180151581146114d057600080fd5b60208082526028908201527f6d73672e73656e646572206973206e6f74207065726d697373696f6e6564206160408201526739903830bab9b2b960c11b606082015260800190565b60208082526019908201527814185d5cd8589b194e881a5b99195e081a5cc81c185d5cd959603a1b604082015260600190565b6020808252600e908201526d145d5bdc9d5b481b9bdd081b595d60921b604082015260600190565b600060208284031215613c7357600080fd5b6114d082613aaa565b600060208284031215613c8e57600080fd5b6114d0826139d3565b634e487b7160e01b600052601160045260246000fd5b60006001600160401b03808316818516808303821115613ccf57613ccf613c97565b01949350505050565b6000808335601e19843603018112613cef57600080fd5b8301803591506001600160401b03821115613d0957600080fd5b6020019150606081023603821315613d2057600080fd5b9250929050565b600060608284031215613d3957600080fd5b6114d08383613994565b6000808335601e19843603018112613d5a57600080fd5b8301803591506001600160401b03821115613d7457600080fd5b602001915036819003821315613d2057600080fd5b60c0810163ffffffff613d9b84613aaa565b168252613daa602084016139d3565b6001600160401b03808216602085015280613dc7604087016139d3565b1660408501525050606083013560608301526080830135608083015260a083013560a083015292915050565b6000808335601e19843603018112613e0a57600080fd5b8301803591506001600160401b03821115613e2457600080fd5b6020019150600681901b3603821315613d2057600080fd5b634e487b7160e01b600052603260045260246000fd5b600060408284031215613e6457600080fd5b6114d08383613964565b600082821015613e8057613e80613c97565b500390565b6000600019821415613e9957613e99613c97565b5060010190565b600082601f830112613eb157600080fd5b604051604081018181106001600160401b0382111715613ed357613ed36138f6565b8060405250806040840185811115613eea57600080fd5b845b81811015613f04578035835260209283019201613eec565b509195945050505050565b600060808284031215613f2157600080fd5b613f2961390c565b613f338484613ea0565b8152613f428460408501613ea0565b60208201529392505050565b60006001600160801b0382811684821681151582840482111615613f7457613f74613c97565b02949350505050565b634e487b7160e01b600052601260045260246000fd5b60006001600160801b0383811680613fad57613fad613f7d565b92169190910492915050565b60006020808352608083016001600160401b0380613fd6876139d3565b1683860152613fe68387016139d3565b604082821681880152808801359150601e1988360301821261400757600080fd5b9087019081358381111561401a57600080fd5b60609350838102360389131561402f57600080fd5b87840184905293849052908401926000919060a088015b81841015614084578535815286860135878201526001600160801b0361406d848801613731565b168184015294840194600193909301928401614046565b9998505050505050505050565b60006001600160801b03838116908316818110156140b1576140b1613c97565b039392505050565b60006001600160801b03828116848216808303821115613ccf57613ccf613c97565b6000826140ea576140ea613f7d565b500690565b600081600019048311821515161561410957614109613c97565b500290565b6000821982111561412157614121613c97565b500190565b6020808252601a908201527f496e76616c696420524c5020627974657333322076616c75652e000000000000604082015260600190565b634e487b7160e01b600052602160045260246000fd5b600060ff83168061418657614186613f7d565b8060ff84160691505092915050565b600060ff821660ff8416808210156141af576141af613c97565b90039392505050565b6000826141c7576141c7613f7d565b500490565b6000602082840312156141de57600080fd5b5051919050565b6020808252600e908201526d736c6963655f6f766572666c6f7760901b60408201526060019056feab40a374bc51de372200a8bc981af8c9ecdc08dfdaef0bb6e09f88f3c616ef3d30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47a2646970667358221220c5206368b967f84defb752fed54341831da8d4493f79dd8f7c874c113cd227e564736f6c634300080c0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
0x08aA5922785793A90A472A0a581833e74db8939a
Loading...
Loading
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.