ETH Price: $1,757.64 (-3.02%)
Gas: 0.07 Gwei

Contract

0xd499CcF3e93F4cfb335Ac388E3C896D59cdDe7c3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found

 Latest 11 from a total of 11 transactions

Transaction Hash
Method
Block
From
To
Deploy Vault246920942026-03-19 14:20:59116 days ago1773930059IN
0xd499CcF3...59cdDe7c3
0 ETH0.00898842.23424294
Deploy Vault246713282026-03-16 16:42:47119 days ago1773679367IN
0xd499CcF3...59cdDe7c3
0 ETH0.009103262.24564389
Deploy Vault244926642026-02-19 18:23:47144 days ago1771525427IN
0xd499CcF3...59cdDe7c3
0 ETH0.000401720.1
Deploy Vault244788012026-02-17 20:00:11146 days ago1771358411IN
0xd499CcF3...59cdDe7c3
0 ETH0.000351250.08709201
Deploy Vault230938152025-08-08 3:59:59339 days ago1754625599IN
0xd499CcF3...59cdDe7c3
0 ETH0.015988363.99081529
Deploy Vault226677122025-06-09 14:47:47399 days ago1749480467IN
0xd499CcF3...59cdDe7c3
0 ETH0.013554583.37854521
Deploy Vault224198402025-05-05 20:12:59434 days ago1746475979IN
0xd499CcF3...59cdDe7c3
0 ETH0.001604780.4
Deploy Vault212196302024-11-19 5:17:11601 days ago1731993431IN
0xd499CcF3...59cdDe7c3
0 ETH0.036616259.09896535
Deploy Vault208320692024-09-26 3:22:35655 days ago1727320955IN
0xd499CcF3...59cdDe7c3
0 ETH0.0584453614.60565891
Deploy Vault208319082024-09-26 2:50:23655 days ago1727319023IN
0xd499CcF3...59cdDe7c3
0 ETH0.0517007712.81660611
Deploy Vault207805612024-09-18 22:48:23662 days ago1726699703IN
0xd499CcF3...59cdDe7c3
0 ETH0.023441015.8326344

Latest 14 internal transactions

Advanced mode:
Parent Transaction Hash Method
Block
From
To
0x61022060246920942026-03-19 14:20:59116 days ago1773930059
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060246713282026-03-16 16:42:47119 days ago1773679367
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060244926642026-02-19 18:23:47144 days ago1771525427
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060244788012026-02-17 20:00:11146 days ago1771358411
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060235054032025-10-04 15:48:11282 days ago1759592891
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060230938152025-08-08 3:59:59339 days ago1754625599
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060226677122025-06-09 14:47:47399 days ago1749480467
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060224792232025-05-14 5:04:47425 days ago1747199087
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060224198402025-05-05 20:12:59434 days ago1746475979
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060222910952025-04-17 20:26:35452 days ago1744921595
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060212196302024-11-19 5:17:11601 days ago1731993431
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060208320692024-09-26 3:22:35655 days ago1727320955
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060208319082024-09-26 2:50:23655 days ago1727319023
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
0x61022060207805612024-09-18 22:48:23662 days ago1726699703
0xd499CcF3...59cdDe7c3
 Contract Creation0 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
Source Code Verified Exact Match

Contract Name

PrizeVaultFactory

Compiler Version
v0.8.24+commit.e11b9ed9
Optimization Enabled
Yes with 200 runs
Other Settings
paris EvmVersion
License
-NA-
Contract Source Code (Solidity Standard Json-Input format)
Contract Security Audit
No Contract Security Audit SubmittedSubmit Audit Here
Contract ABI
API
[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract PrizeVault","name":"vault","type":"address"},{"indexed":true,"internalType":"contract IERC4626","name":"yieldVault","type":"address"},{"indexed":true,"internalType":"contract PrizePool","name":"prizePool","type":"address"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"}],"name":"NewPrizeVault","type":"event"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"allVaults","outputs":[{"internalType":"contract PrizeVault","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"_name","type":"string"},{"internalType":"string","name":"_symbol","type":"string"},{"internalType":"contract IERC4626","name":"_yieldVault","type":"address"},{"internalType":"contract PrizePool","name":"_prizePool","type":"address"},{"internalType":"address","name":"_claimer","type":"address"},{"internalType":"address","name":"_yieldFeeRecipient","type":"address"},{"internalType":"uint32","name":"_yieldFeePercentage","type":"uint32"},{"internalType":"uint256","name":"_yieldBuffer","type":"uint256"},{"internalType":"address","name":"_owner","type":"address"}],"name":"deployVault","outputs":[{"internalType":"contract PrizeVault","name":"","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"vault","type":"address"}],"name":"deployedVaults","outputs":[{"internalType":"bool","name":"deployedByFactory","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"deployer","type":"address"}],"name":"deployerNonces","outputs":[{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalVaults","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
608060405234801561001057600080fd5b50615e92806100206000396000f3fe60806040523480156200001157600080fd5b50600436106200005e5760003560e01c80631f61805d1462000063578063781d653c14620000995780638d65402314620000c95780639094a91e14620000d2578063faf20d1114620000e9575b600080fd5b620000866200007436600462000686565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b620000b0620000aa3660046200076d565b62000120565b6040516001600160a01b03909116815260200162000090565b60005462000086565b620000b0620000e336600462000856565b62000338565b6200010f620000fa36600462000686565b60016020526000908152604090205460ff1681565b604051901515815260200162000090565b336000818152600260205260408120805491928392909183620001438362000870565b90915550604080516001600160a01b039093166020840152820152606001604051602081830303815290604052805190602001208b8b8b8b8b8b8b8b8b6040516200018e906200064d565b620001a299989796959493929190620008ec565b8190604051809103906000f5905080158015620001c3573d6000803e3d6000fd5b50905083156200024b576200024b338286846001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000213573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000239919062000968565b6001600160a01b031692919062000363565b6000819080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b031602179055506001806000836001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550876001600160a01b0316896001600160a01b0316826001600160a01b03167fc56567f6a29fddd9d58e1b710306ab9af164da3f9df01fd50069df34040da9118e8e6040516200032292919062000988565b60405180910390a49a9950505050505050505050565b600081815481106200034957600080fd5b6000918252602090912001546001600160a01b0316905081565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052620003bf908590620003c5565b50505050565b60006200041c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620004aa9092919063ffffffff16565b905080516000148062000440575080806020019051810190620004409190620009ba565b620004a55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b505050565b6060620004bb8484600085620004c3565b949350505050565b606082471015620005265760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200049c565b600080866001600160a01b03168587604051620005449190620009de565b60006040518083038185875af1925050503d806000811462000583576040519150601f19603f3d011682016040523d82523d6000602084013e62000588565b606091505b50915091506200059b87838387620005a6565b979650505050505050565b606083156200061a57825160000362000612576001600160a01b0385163b620006125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200049c565b5081620004bb565b620004bb8383815115620006315781518083602001fd5b8060405162461bcd60e51b81526004016200049c9190620009fc565b61544b8062000a1283390190565b6001600160a01b03811681146200067157600080fd5b50565b803562000681816200065b565b919050565b6000602082840312156200069957600080fd5b8135620006a6816200065b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620006d557600080fd5b813567ffffffffffffffff80821115620006f357620006f3620006ad565b604051601f8301601f19908116603f011681019082821181831017156200071e576200071e620006ad565b816040528381528660208588010111156200073857600080fd5b836020870160208301376000602085830101528094505050505092915050565b803563ffffffff811681146200068157600080fd5b60008060008060008060008060006101208a8c0312156200078d57600080fd5b893567ffffffffffffffff80821115620007a657600080fd5b620007b48d838e01620006c3565b9a5060208c0135915080821115620007cb57600080fd5b50620007da8c828d01620006c3565b98505060408a0135620007ed816200065b565b965060608a0135620007ff816200065b565b95506200080f60808b0162000674565b94506200081f60a08b0162000674565b93506200082f60c08b0162000758565b925060e08a01359150620008476101008b0162000674565b90509295985092959850929598565b6000602082840312156200086957600080fd5b5035919050565b6000600182016200089157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620008b55781810151838201526020016200089b565b50506000910152565b60008151808452620008d881602086016020860162000898565b601f01601f19169290920160200192915050565b6000610120808352620009028184018d620008be565b9050828103602084015262000918818c620008be565b6001600160a01b039a8b166040850152988a1660608401525050948716608086015292861660a085015263ffffffff9190911660c084015260e08301529092166101009092019190915292915050565b6000602082840312156200097b57600080fd5b8151620006a6816200065b565b6040815260006200099d6040830185620008be565b8281036020840152620009b18185620008be565b95945050505050565b600060208284031215620009cd57600080fd5b81518015158114620006a657600080fd5b60008251620009f281846020870162000898565b9190910192915050565b602081526000620006a66020830184620008be56fe6102206040523480156200001257600080fd5b506040516200544b3803806200544b83398101604081905262000035916200077c565b8086868b8b8a6001600160a01b031663b0812d7b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000079573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009f919062000865565b6040805180820190915260018152603160f81b60208201528390819081856003620000cb83826200091d565b506004620000da82826200091d565b50620000ec9150839050600562000367565b61012052620000fd81600662000367565b61014052815160208084019190912060e052815190820120610100524660a0526200018b60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b038116600003620001c0576040516319b9815760e11b815260040160405180910390fd5b6001600160a01b039081166101605284169150620001f39050576040516305d872f360e21b815260040160405180910390fd5b6001600160a01b038216610180526200020c81620003a0565b506200021a90508162000412565b506001600160a01b03871662000243576040516307877e8560e01b815260040160405180910390fd5b6001600160a01b0381166200026b57604051630962257960e11b815260040160405180910390fd5b6000876001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d2919062000865565b9050600080620002e28362000464565b915091508115620002fb5760ff81166102005262000324565b60405163f500876960e01b81526001600160a01b03841660048201526024015b60405180910390fd5b6001600160a01b038084166101e0528a166101c0526101a08590526200034a8762000549565b620003558662000593565b50505050505050505050505062000a7b565b600060208351101562000387576200037f836200062c565b90506200039a565b816200039484826200091d565b5060ff90505b92915050565b6001600160a01b038116620003c857604051634d9808e160e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517fa04eca05f1c4f5674beaad80f345070124aa2192abced410b9b227c0c04e755a90600090a250565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000918291829182916001600160a01b03871691620004ad91620009e9565b600060405180830381855afa9150503d8060008114620004ea576040519150601f19603f3d011682016040523d82523d6000602084013e620004ef565b606091505b50915091508180156200050457506020815110155b156200053c5760008180602001905181019062000522919062000a07565b905060ff81116200053a576001969095509350505050565b505b5060009485945092505050565b600d80546001600160a01b0319166001600160a01b0383169081179091556040517f5d55a9f17ebec95846f4d400ad862a51f9564a7973f6622d3c99a34feb6a0aec90600090a250565b6335a4e90063ffffffff82161115620005d257604051637bcc613b60e01b815263ffffffff821660048201526335a4e90060248201526044016200031b565b600c805463ffffffff60a01b1916600160a01b63ffffffff8416908102919091179091556040519081527fefb99600b8c2baadc10ee4fe77c625b379acb4c29fbb0b90a5f17652d7de03419060200160405180910390a150565b600080829050601f815111156200065a578260405163305a27a960e01b81526004016200031b919062000a21565b8051620006678262000a56565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006a257818101518382015260200162000688565b50506000910152565b600082601f830112620006bd57600080fd5b81516001600160401b0380821115620006da57620006da6200066f565b604051601f8301601f19908116603f011681019082821181831017156200070557620007056200066f565b816040528381528660208588010111156200071f57600080fd5b6200073284602083016020890162000685565b9695505050505050565b6001600160a01b03811681146200075257600080fd5b50565b805162000762816200073c565b919050565b805163ffffffff811681146200076257600080fd5b60008060008060008060008060006101208a8c0312156200079c57600080fd5b89516001600160401b0380821115620007b457600080fd5b620007c28d838e01620006ab565b9a5060208c0151915080821115620007d957600080fd5b50620007e88c828d01620006ab565b98505060408a0151620007fb816200073c565b60608b01519097506200080e816200073c565b95506200081e60808b0162000755565b94506200082e60a08b0162000755565b93506200083e60c08b0162000767565b925060e08a01519150620008566101008b0162000755565b90509295985092959850929598565b6000602082840312156200087857600080fd5b815162000885816200073c565b9392505050565b600181811c90821680620008a157607f821691505b602082108103620008c257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000918576000816000526020600020601f850160051c81016020861015620008f35750805b601f850160051c820191505b818110156200091457828155600101620008ff565b5050505b505050565b81516001600160401b038111156200093957620009396200066f565b62000951816200094a84546200088c565b84620008c8565b602080601f831160018114620009895760008415620009705750858301515b600019600386901b1c1916600185901b17855562000914565b600085815260208120601f198616915b82811015620009ba5788860151825594840194600190910190840162000999565b5085821015620009d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251620009fd81846020870162000685565b9190910192915050565b60006020828403121562000a1a57600080fd5b5051919050565b602081526000825180602084015262000a4281604085016020870162000685565b601f01601f19169190910160400192915050565b80516020808301519190811015620008c25760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161483062000c1b600039600061054401526000818161058b01528181610a3f01528181610d7001528181611376015281816114d10152818161166f0152818161173601528181611a0301528181611d2301528181611d6f015281816121350152818161239701528181612ca201528181612ce201528181612d6401528181613030015261320201526000818161078c01528181610ac70152818161140c0152818161155901528181612d8601528181612dc401528181612e56015281816130b90152818161316d01526133cd01526000818161049d01528181610df30152818161131d0152612745015260008181610687015281816106c9015281816110db01528181611f6a015261203e0152600081816107c601528181610cf901528181611819015281816128150152818161296b01526139c401526000611b6501526000611b3a01526000612b2901526000612b0101526000612a5c01526000612a8601526000612ab001526148306000f3fe608060405234801561001057600080fd5b50600436106104125760003560e01c80638da5cb5b11610220578063c8576e6111610130578063de03f408116100b8578063e63a391f11610087578063e63a391f146109ee578063edb8eb80146109f9578063ef8b30f7146107fb578063f2fde38b14610a0c578063fc7b9c1814610a1f57600080fd5b8063de03f40814610913578063e16777c1146109b3578063e30c3978146109ca578063e4e243ac146109db57600080fd5b8063d379be23116100ff578063d379be23146108bf578063d4122abf146108d2578063d505accf146108da578063d905777e146108ed578063dd62ed3e1461090057600080fd5b8063c8576e611461086b578063cdfb58321461087e578063ce96cb7714610891578063d30ae1b4146108a457600080fd5b8063a9059cbb116101b3578063b460af9411610182578063b460af941461080c578063ba0876521461081f578063c63d75b614610832578063c6e6f59214610845578063c78c72c11461085857600080fd5b8063a9059cbb146107ae578063b0812d7b146107c1578063b0fcf626146107e8578063b3d7f6b9146107fb57600080fd5b80639f40a7b3116101ef5780639f40a7b31461074e578063a318c1a414610761578063a457c2d714610774578063a7f8a5e21461078757600080fd5b80638da5cb5b1461072c57806394bf804d1461066357806395d89b411461073d5780639a1adf9a1461074557600080fd5b806338d52e0f11610326578063649f2394116102ae578063715018a61161027d578063715018a6146106bc578063719ce73e146106c45780637cc99d3f146106eb5780637ecebe00146106fe57806384b0196e1461071157600080fd5b8063649f2394146106505780636e553f6514610663578063700f04ef1461067657806370a08231146106a957600080fd5b80634244aa9b116102f55780634244aa9b146106075780634cdad5061461060f5780634e71e0c81461062257806350921b231461062a57806363003b161461063d57600080fd5b806338d52e0f1461058957806339509351146105c35780634006522b146105d6578063402d267d146105f457600080fd5b80631b571924116103a957806325fa66e01161037857806325fa66e0146105155780632895cace1461052a578063313ce5671461053d578063353d5a181461056e5780633644e5151461058157600080fd5b80631b571924146104c75780631caa73cb146104da578063237fd108146104fa57806323b872dd1461050257600080fd5b80630a28a477116103e55780630a28a4771461047d5780630d1e52551461049057806313dc6c5d1461049857806318160ddd146104bf57600080fd5b806301e1d1141461041757806306fdde031461043257806307a2d13a14610447578063095ea7b31461045a575b600080fd5b61041f610a27565b6040519081526020015b60405180910390f35b61043a610bb1565b6040516104299190613fb1565b61041f610455366004613fc4565b610c43565b61046d610468366004613ff2565b610c66565b6040519015158152602001610429565b61041f61048b366004613fc4565b610c7e565b61041f610cc7565b61041f7f000000000000000000000000000000000000000000000000000000000000000081565b61041f610ce1565b61046d6104d536600461401e565b610d6c565b6104e56335a4e90081565b60405163ffffffff9091168152602001610429565b61041f610dd4565b61046d610510366004614057565b610e25565b610528610523366004614098565b610e49565b005b61041f6105383660046140da565b610efe565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610429565b61052861057c366004613fc4565b6111dd565b61041f6112c6565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610429565b61046d6105d1366004613ff2565b6112d0565b6105e0620249f081565b60405162ffffff9091168152602001610429565b61041f610602366004614098565b6112f2565b61041f6114b9565b61041f61061d366004613fc4565b611598565b6105286115a6565b61041f610638366004614153565b611627565b61052861064b366004614098565b6117ab565b600f546105ab906001600160a01b031681565b61041f6106713660046141ad565b6117f0565b6105ab610684366004614098565b507f000000000000000000000000000000000000000000000000000000000000000090565b61041f6106b7366004614098565b6117ff565b610528611891565b6105ab7f000000000000000000000000000000000000000000000000000000000000000081565b61043a6106f93660046141d2565b6118d6565b61041f61070c366004614098565b611b0e565b610719611b2c565b6040516104299796959493929190614223565b600b546001600160a01b03166105ab565b61043a611bb5565b61041f600e5481565b61041f61075c3660046142bc565b611bc4565b61041f61076f3660046142bc565b611c12565b61046d610782366004613ff2565b611c58565b6105ab7f000000000000000000000000000000000000000000000000000000000000000081565b61046d6107bc366004613ff2565b611cd3565b6105ab7f000000000000000000000000000000000000000000000000000000000000000081565b61041f6107f6366004614098565b611ce1565b61041f610809366004613fc4565b90565b61041f61081a3660046142e4565b611e7d565b61041f61082d3660046142e4565b611e98565b61041f610840366004614098565b611eb3565b61041f610853366004613fc4565b611ebe565b610528610866366004614326565b611edb565b610528610879366004614338565b611f2a565b61052861088c366004614098565b6120bb565b61041f61089f366004614098565b6120fd565b6108ac608081565b60405161ffff9091168152602001610429565b600a546105ab906001600160a01b031681565b61041f6121ee565b6105286108e83660046143c1565b6121fb565b61041f6108fb366004614098565b61235f565b61041f61090e36600461401e565b61245c565b610984610921366004614098565b6040805160608082018352600080835260208084018290529284018190526001600160a01b03948516815260098352839020835191820184525460ff80821615158352610100820416151592820192909252620100009091049092169082015290565b60408051825115158152602080840151151590820152918101516001600160a01b031690820152606001610429565b600c546104e590600160a01b900463ffffffff1681565b600c546001600160a01b03166105ab565b6105286109e936600461442f565b612487565b6104e5633b9aca0081565b600d546105ab906001600160a01b031681565b610528610a1a366004614098565b6124c9565b61041f6125b0565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab2919061444a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a9082906370a08231906024015b602060405180830381865afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b43919061444a565b6040518263ffffffff1660e01b8152600401610b6191815260200190565b602060405180830381865afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba2919061444a565b610bac9190614479565b905090565b606060038054610bc09061448c565b80601f0160208091040260200160405190810160405280929190818152602001828054610bec9061448c565b8015610c395780601f10610c0e57610100808354040283529160200191610c39565b820191906000526020600020905b815481529060010190602001808311610c1c57829003601f168201915b5050505050905090565b6000610c6082610c51610a27565b610c596125b0565b60006125bd565b92915050565b600033610c748185856125e0565b5060019392505050565b600080610c896114b9565b905080600003610cac5760405163f0bd6f1b60e01b815260040160405180910390fd5b610cc08382610cb96125b0565b6001612705565b9392505050565b6000610bac610cd46114b9565b610cdc6125b0565b612734565b6040516339370aa960e21b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa490602401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bac919061444a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480610db657506001600160a01b03831630145b8015610cc0575050600f546001600160a01b03908116911614919050565b600080610def610de26114b9565b610dea6125b0565b61277f565b90507f0000000000000000000000000000000000000000000000000000000000000000808210610e1f5792915050565b50919050565b600033610e33858285612799565b610e3e858585612813565b506001949350505050565b33610e5c600b546001600160a01b031690565b6001600160a01b031614610e8b5760405162461bcd60e51b8152600401610e82906144c0565b60405180910390fd5b6001600160a01b038116610eb257604051630ac5b1f760e11b815260040160405180910390fd5b600f80546001600160a01b0319166001600160a01b03831690811790915560405130907fb540015bf51edcbfd9e43df5316486615bf954f7b4c6cc0304eb3757f1601f9590600090a350565b600a546000906001600160a01b03163314610f3d57600a54604051637f4b239760e11b8152610e829133916001600160a01b03909116906004016144f7565b6001600160a01b03861660009081526009602052604081205460609060ff161561105a576001600160a01b03888116600081815260096020526040808220549051602481019390935260ff8b16604484015263ffffffff8a1660648401526001600160601b038916608484015287841660a484015290928392611008926201000090049091169063b4db727f60e01b9060c4015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612902565b909250905060808111156110395760405163756d9e2960e01b81526004810182905260806024820152604401610e82565b8180602001905181019061104d9190614527565b909450925061105e915050565b8791505b6001600160a01b0382166110855760405163e1c2596f60e01b815260040160405180910390fd5b6040516311e7375f60e21b81526001600160a01b03898116600483015260ff8916602483015263ffffffff8816604483015283811660648301526001600160601b038716608483015285811660a48301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063479cdd7c9060c4016020604051808303816000875af1158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a919061444a565b6001600160a01b038a16600090815260096020526040902054909150610100900460ff16156111d1576001600160a01b03808a166000908152600960205260409020546111ce91620100009091041663d44c6da360e01b8b8b8b6111b76001600160601b038d16886145ea565b8989604051602401610fd1969594939291906145fd565b50505b98975050505050505050565b600d546001600160a01b0316331461121957600d54604051630e69d0db60e11b8152610e829133916001600160a01b03909116906004016144f7565b8060000361123a5760405163b31accb760e01b815260040160405180910390fd5b600e5481111561126b57600e546040516304ed794960e21b8152610e82918391600401918252602082015260400190565b80600e600082825461127d91906145ea565b9091555061128d90503382612969565b60405181815233907f9b51aebdd88b3f321397bdf9848415ce15dedd1783c775b93b8036c6b0af0f56906020015b60405180910390a250565b6000610bac612a4f565b600033610c748185856112e3838361245c565b6112ed9190614479565b6125e0565b6000806112fd6125b0565b905060008061130a612b7a565b9150915081158061134e575061134160027f000000000000000000000000000000000000000000000000000000000000000061465b565b61134b9084614479565b81105b1561135e57506000949350505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156113c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e9919061444a565b60405163402d267d60e01b81523060048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063402d267d90602401602060405180830381865afa158015611453573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611477919061444a565b905080821061148d575060009695505050505050565b600061149886612bee565b90508282038082106114aa57806114ac565b815b9998505050505050505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611520573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611544919061444a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634cdad5069082906370a0823190602401610b02565b6000610c6082610c516114b9565b600c546001600160a01b031633146116005760405162461bcd60e51b815260206004820152601f60248201527f4f776e61626c652f63616c6c65722d6e6f742d70656e64696e674f776e6572006044820152606401610e82565b600c54611615906001600160a01b0316612c01565b600c80546001600160a01b0319169055565b60006001600160a01b03861633146116565733866040516358fe888560e01b8152600401610e829291906144f7565b604051636eb1769f60e11b815287906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063dd62ed3e906116a6908a9030906004016144f7565b602060405180830381865afa1580156116c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e7919061444a565b146117935760405163d505accf60e01b81526001600160a01b038781166004830152306024830152604482018990526064820187905260ff8616608483015260a4820185905260c482018490527f0000000000000000000000000000000000000000000000000000000000000000169063d505accf9060e401600060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050505b866117a087808380612c53565b979650505050505050565b336117be600b546001600160a01b031690565b6001600160a01b0316146117e45760405162461bcd60e51b8152600401610e82906144c0565b6117ed81612f97565b50565b600082610cc033848380612c53565b604051633de222bb60e21b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f7888aec9061185090309086906004016144f7565b602060405180830381865afa15801561186d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061444a565b336118a4600b546001600160a01b031690565b6001600160a01b0316146118ca5760405162461bcd60e51b8152600401610e82906144c0565b6118d46000612c01565b565b600f546060906001600160a01b0316331461191557600f546040516317140eff60e11b8152610e829133916001600160a01b03909116906004016144f7565b8160000361193657604051634750846560e11b815260040160405180910390fd5b60006119406125b0565b9050600061195561194f6114b9565b83612734565b600c54909150600160a01b900463ffffffff16600081156119aa578561197f83633b9aca0061467d565b63ffffffff16611993633b9aca00896146a1565b61199d919061465b565b6119a791906145ea565b90505b826119b58288614479565b11156119e9576119c58187614479565b6040516374281bbb60e11b8152600481019190915260248101849052604401610e82565b8015611a015780600e546119fd9190614479565b600e555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031603611a5357611a448482612fe1565b611a4e8887613018565b611aa4565b306001600160a01b03881603611a8057611a7684611a718389614479565b612fe1565b611a4e8887612969565b6040516304bc290f60e51b81526001600160a01b0388166004820152602401610e82565b60408051878152602081018390526001600160a01b03808b1692908a169133917f64d8a6bd56c2c610cd5d2ed87ba4bde3659df2650c7ad8aabde397decf94e07d910160405180910390a4604051806020016040528060008152509450505050505b949350505050565b6001600160a01b038116600090815260076020526040812054610c60565b600060608082808083611b607f00000000000000000000000000000000000000000000000000000000000000006005613229565b611b8b7f00000000000000000000000000000000000000000000000000000000000000006006613229565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b606060048054610bc09061448c565b600080611bd086611598565b905082811015611bfc57604051629af28160e41b81526004810182905260248101849052604401610e82565b611c0933868689856132d4565b95945050505050565b600080611c1e86610c7e565b905082811115611c4b5760405163654df34d60e01b81526004810182905260248101849052604401610e82565b611c09338686848a6132d4565b60003381611c66828661245c565b905083811015611cc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610e82565b610e3e82868684036125e0565b600033610c74818585612813565b600080611cec6125b0565b600c54909150600160a01b900463ffffffff166000306001600160a01b03861603611d2157611d1a83612bee565b9050611e37565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603611e2c576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de2919061444a565b611dea6133b5565b611df49190614479565b90508115611e27576000611e17633b9aca0084611e1087612bee565b91906134ae565b905081811015611e25578091505b505b611e37565b506000949350505050565b6000611e4a611e446114b9565b85612734565b9050600082821015611e5c5781611e5e565b825b90506117a0611e7185633b9aca006145ea565b8290633b9aca006134ae565b600080611e8985610c7e565b9050611b0633858584896132d4565b600080611ea485611598565b9050611b0633858588856132d4565b6000610c60826112f2565b6000610c6082611ecc610a27565b611ed46125b0565b6000612705565b3360009081526009602052604090208190611ef682826146c6565b505060405133907f5eaf51436f308830fc57b00bb6843675b383bce9b2c669e1b9ce60de8bbb9e8e906112bb908490614740565b600f546001600160a01b03163314611f6657600f546040516317140eff60e11b8152610e829133916001600160a01b03909116906004016144f7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0ef024a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fea919061478e565b9050806001600160a01b0316856001600160a01b031614612022578481604051630c0760c160e21b8152600401610e829291906144f7565b604051630eedfb4560e41b8152306004820152602481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063eedfb450906044016020604051808303816000875af115801561208f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b3919061444a565b505050505050565b336120ce600b546001600160a01b031690565b6001600160a01b0316146120f45760405162461bcd60e51b8152600401610e82906144c0565b6117ed81613598565b600080600061210a612b7a565b915091508161211d575060009392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a8919061444a565b6121b06133b5565b6121ba9190614479565b905060006121d36121ca876117ff565b84610c596125b0565b90508181106121e257816121e4565b805b9695505050505050565b6000610bac610de26114b9565b8342111561224b5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610e82565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861227a8c613609565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006122d58261362f565b905060006122e58287878761365c565b9050896001600160a01b0316816001600160a01b0316146123485760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610e82565b6123538a8a8a6125e0565b50505050505050505050565b600080600061236c612b7a565b915091508161237f575060009392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156123e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240a919061444a565b6124126133b5565b61241c9190614479565b90506000612429866117ff565b9050818111156121e25760006124428385610cb96125b0565b90508181101561245257806117a0565b5095945050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3361249a600b546001600160a01b031690565b6001600160a01b0316146124c05760405162461bcd60e51b8152600401610e82906144c0565b6117ed8161367a565b336124dc600b546001600160a01b031690565b6001600160a01b0316146125025760405162461bcd60e51b8152600401610e82906144c0565b6001600160a01b0381166125665760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c652f70656e64696e674f776e65722d6e6f742d7a65726f2d6164604482015264647265737360d81b6064820152608401610e82565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517f239a2ddded15777fa246aed5f7e1a9bc69a39d4eb4a397034d1d85766cca7d4c90600090a250565b6000600e54610ba2610ce1565b60008284106125cd575083611b06565b6125d985858585613711565b9050611b06565b6001600160a01b0383166126425760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610e82565b6001600160a01b0382166126a35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610e82565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000828410612715575083611b06565b831561272c5761272785848685613711565b6125d9565b506000611b06565b600080612741848461277f565b90507f00000000000000000000000000000000000000000000000000000000000000008082106127745790039050610c60565b600092505050610c60565b600082821061279057506000610c60565b50808203610c60565b60006127a5848461245c565b9050600019811461280d57818110156128005760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610e82565b61280d84848484036125e0565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c661667d848461284d85613762565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526001600160601b03166044820152606401600060405180830381600087803b1580156128a557600080fd5b505af11580156128b9573d6000803e3d6000fd5b50505050816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126f891815260200190565b60606000806129216001600160a01b038616620249f0836080886137ce565b93503d92509050806129615760808211156129595760405163756d9e2960e01b81526004810183905260806024820152604401610e82565b825183602001fd5b509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631b025a40836129a284613762565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526001600160601b03166024820152604401600060405180830381600087803b1580156129f157600080fd5b505af1158015612a05573d6000803e3d6000fd5b50506040518381526001600160a01b0385169250600091507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612aa857507f000000000000000000000000000000000000000000000000000000000000000046145b15612ad257507f000000000000000000000000000000000000000000000000000000000000000090565b610bac604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600080306001600160a01b0316634244aa9b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612bd7575060408051601f3d908101601f19168201909252612bd49181019061444a565b60015b612be45750600090508091565b6001925090509091565b6000610c60826001600160601b036145ea565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80600003612c745760405163b31accb760e01b815260040160405180910390fd5b81600003612c955760405163f0f4d07b60e01b815260040160405180910390fd5b612cca6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016853085613859565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d55919061444a565b9050612dab6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836138c4565b60405163ef8b30f760e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef8b30f790602401602060405180830381865afa158015612e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e37919061444a565b6040516394bf804d60e01b8152600481018290523060248201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906394bf804d906044016020604051808303816000875af1158015612ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ecb919061444a565b506000612ed66125b0565b9050612ee28185612fe1565b612eec8482614479565b612ef46114b9565b1015612f2e57612f026114b9565b612f0c8583614479565b6040516315c5982d60e11b815260048101929092526024820152604401610e82565b612f388685612969565b856001600160a01b0316876001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78787604051612f86929190918252602082015260400190565b60405180910390a350505050505050565b600d80546001600160a01b0319166001600160a01b0383169081179091556040517f5d55a9f17ebec95846f4d400ad862a51f9564a7973f6622d3c99a34feb6a0aec90600090a250565b6000612fec83612bee565b90508082111561301357604051637e0311c360e11b81528183036004820152602401610e82565b505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561307f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a3919061444a565b9050808211156131e55760006001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016630a28a4776130e884866145ea565b6040518263ffffffff1660e01b815260040161310691815260200190565b602060405180830381865afa158015613123573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613147919061444a565b604051635d043b2960e11b815260048101829052306024820181905260448201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ba087652906064016020604051808303816000875af11580156131be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e2919061444a565b50505b6001600160a01b0383163014613013576130136001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168484613953565b606060ff83146132435761323c83613983565b9050610c60565b81805461324f9061448c565b80601f016020809104026020016040519081016040528092919081815260200182805461327b9061448c565b80156132c85780601f1061329d576101008083540402835291602001916132c8565b820191906000526020600020905b8154815290600101906020018083116132ab57829003601f168201915b50505050509050610c60565b806000036132f55760405163f3c41a2b60e01b815260040160405180910390fd5b8160000361331657604051632f73c6c360e11b815260040160405180910390fd5b826001600160a01b0316856001600160a01b03161461333a5761333a838684612799565b61334483836139c2565b61334e8482613018565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db84866040516133a6929190918252602082015260400190565b60405180910390a45050505050565b604051636c82bbbf60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634cdad50690829063d905777e90602401602060405180830381865afa158015613424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613448919061444a565b6040518263ffffffff1660e01b815260040161346691815260200190565b602060405180830381865afa92505050801561349f575060408051601f3d908101601f1916820190925261349c9181019061444a565b60015b6134a95750600090565b919050565b60008080600019858709858702925082811083820303915050806000036134e8578382816134de576134de614645565b0492505050610cc0565b80841161352f5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610e82565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160a01b0381166135bf57604051634d9808e160e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517fa04eca05f1c4f5674beaad80f345070124aa2192abced410b9b227c0c04e755a90600090a250565b6001600160a01b0381166000908152600760205260409020805460018101825590610e1f565b6000610c6061363c612a4f565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061366d87878787613aa0565b9150915061245281613b64565b6335a4e90063ffffffff821611156136b757604051637bcc613b60e01b815263ffffffff821660048201526335a4e9006024820152604401610e82565b600c805463ffffffff60a01b1916600160a01b63ffffffff8416908102919091179091556040519081527fefb99600b8c2baadc10ee4fe77c625b379acb4c29fbb0b90a5f17652d7de03419060200160405180910390a150565b60008061371f8686866134ae565b90506001836002811115613735576137356147ab565b14801561375257506000848061374d5761374d614645565b868809115b15611c09576121e4600182614479565b60006001600160601b038211156137ca5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960448201526536206269747360d01b6064820152608401610e82565b5090565b6000606060008060008661ffff1667ffffffffffffffff8111156137f4576137f4614511565b6040519080825280601f01601f19166020018201604052801561381e576020820181803683370190505b5090506000808751602089018b8e8ef191503d92508683111561383f578692505b828152826000602083013e90999098509650505050505050565b6040516001600160a01b038085166024830152831660448201526064810182905261280d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613cae565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526139158482613d83565b61280d576040516001600160a01b03841660248201526000604482015261394990859063095ea7b360e01b9060640161388d565b61280d8482613cae565b6040516001600160a01b03831660248201526044810182905261301390849063a9059cbb60e01b9060640161388d565b6060600061399083613e26565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638df2c8e6836139fb84613762565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526001600160601b03166024820152604401600060405180830381600087803b158015613a4a57600080fd5b505af1158015613a5e573d6000803e3d6000fd5b5050604051838152600092506001600160a01b03851691507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612a43565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613ad75750600090506003613b5b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613b2b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613b5457600060019250925050613b5b565b9150600090505b94509492505050565b6000816004811115613b7857613b786147ab565b03613b805750565b6001816004811115613b9457613b946147ab565b03613be15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610e82565b6002816004811115613bf557613bf56147ab565b03613c425760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610e82565b6003816004811115613c5657613c566147ab565b036117ed5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610e82565b6000613d03826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e4e9092919063ffffffff16565b9050805160001480613d24575080806020019051810190613d2491906147c1565b6130135760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610e82565b6000806000846001600160a01b031684604051613da091906147de565b6000604051808303816000865af19150503d8060008114613ddd576040519150601f19603f3d011682016040523d82523d6000602084013e613de2565b606091505b5091509150818015613e0c575080511580613e0c575080806020019051810190613e0c91906147c1565b8015611c095750505050506001600160a01b03163b151590565b600060ff8216601f811115610c6057604051632cd44ac360e21b815260040160405180910390fd5b6060611b06848460008585600080866001600160a01b03168587604051613e7591906147de565b60006040518083038185875af1925050503d8060008114613eb2576040519150601f19603f3d011682016040523d82523d6000602084013e613eb7565b606091505b50915091506117a08783838760608315613f32578251600003613f2b576001600160a01b0385163b613f2b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e82565b5081611b06565b611b068383815115613f475781518083602001fd5b8060405162461bcd60e51b8152600401610e829190613fb1565b60005b83811015613f7c578181015183820152602001613f64565b50506000910152565b60008151808452613f9d816020860160208601613f61565b601f01601f19169290920160200192915050565b602081526000610cc06020830184613f85565b600060208284031215613fd657600080fd5b5035919050565b6001600160a01b03811681146117ed57600080fd5b6000806040838503121561400557600080fd5b823561401081613fdd565b946020939093013593505050565b6000806040838503121561403157600080fd5b823561403c81613fdd565b9150602083013561404c81613fdd565b809150509250929050565b60008060006060848603121561406c57600080fd5b833561407781613fdd565b9250602084013561408781613fdd565b929592945050506040919091013590565b6000602082840312156140aa57600080fd5b8135610cc081613fdd565b803560ff811681146134a957600080fd5b803563ffffffff811681146134a957600080fd5b600080600080600060a086880312156140f257600080fd5b85356140fd81613fdd565b945061410b602087016140b5565b9350614119604087016140c6565b925060608601356001600160601b038116811461413557600080fd5b9150608086013561414581613fdd565b809150509295509295909350565b60008060008060008060c0878903121561416c57600080fd5b86359550602087013561417e81613fdd565b945060408701359350614193606088016140b5565b92506080870135915060a087013590509295509295509295565b600080604083850312156141c057600080fd5b82359150602083013561404c81613fdd565b600080600080608085870312156141e857600080fd5b84356141f381613fdd565b9350602085013561420381613fdd565b9250604085013561421381613fdd565b9396929550929360600135925050565b60ff60f81b881681526000602060e0602084015261424460e084018a613f85565b8381036040850152614256818a613f85565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156142aa5783518352928401929184019160010161428e565b50909c9b505050505050505050505050565b600080600080608085870312156142d257600080fd5b84359350602085013561420381613fdd565b6000806000606084860312156142f957600080fd5b83359250602084013561430b81613fdd565b9150604084013561431b81613fdd565b809150509250925092565b600060608284031215610e1f57600080fd5b6000806000806060858703121561434e57600080fd5b843561435981613fdd565b935060208501359250604085013567ffffffffffffffff8082111561437d57600080fd5b818701915087601f83011261439157600080fd5b8135818111156143a057600080fd5b8860208285010111156143b257600080fd5b95989497505060200194505050565b600080600080600080600060e0888a0312156143dc57600080fd5b87356143e781613fdd565b965060208801356143f781613fdd565b95506040880135945060608801359350614413608089016140b5565b925060a0880135915060c0880135905092959891949750929550565b60006020828403121561444157600080fd5b610cc0826140c6565b60006020828403121561445c57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c6057610c60614463565b600181811c908216806144a057607f821691505b602082108103610e1f57634e487b7160e01b600052602260045260246000fd5b60208082526018908201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604082015260600190565b6001600160a01b0392831681529116602082015260400190565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561453a57600080fd5b825161454581613fdd565b602084015190925067ffffffffffffffff8082111561456357600080fd5b818501915085601f83011261457757600080fd5b81518181111561458957614589614511565b604051601f8201601f19908116603f011681019083821181831017156145b1576145b1614511565b816040528281528860208487010111156145ca57600080fd5b6145db836020830160208801613f61565b80955050505050509250929050565b81810381811115610c6057610c60614463565b6001600160a01b03878116825260ff8716602083015263ffffffff86166040830152606082018590528316608082015260c060a082018190526000906111d190830184613f85565b634e487b7160e01b600052601260045260246000fd5b60008261467857634e487b7160e01b600052601260045260246000fd5b500490565b63ffffffff82811682821603908082111561469a5761469a614463565b5092915050565b8082028115828204841417610c6057610c60614463565b80151581146117ed57600080fd5b81356146d1816146b8565b815460ff19811691151560ff16918217835560208401356146f1816146b8565b61ff0090151560081b1661ffff198216831781178455604085013561471581613fdd565b6001600160b01b0319929092169092179190911760109190911b62010000600160b01b031617905550565b60608101823561474f816146b8565b151582526020830135614761816146b8565b15156020830152604083013561477681613fdd565b6001600160a01b031660409290920191909152919050565b6000602082840312156147a057600080fd5b8151610cc081613fdd565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156147d357600080fd5b8151610cc0816146b8565b600082516147f0818460208701613f61565b919091019291505056fea26469706673582212209e548a1f576219dee6eeb50c3caacd6d0b2bc0943b527fd4f98b915284a37f0464736f6c63430008180033a264697066735822122019c1b1fdc2e58359f7687c9b406ba7433c6d3ca5f86c4f07d18d390cf91d6fad64736f6c63430008180033
Deployed Bytecode
0x60806040523480156200001157600080fd5b50600436106200005e5760003560e01c80631f61805d1462000063578063781d653c14620000995780638d65402314620000c95780639094a91e14620000d2578063faf20d1114620000e9575b600080fd5b620000866200007436600462000686565b60026020526000908152604090205481565b6040519081526020015b60405180910390f35b620000b0620000aa3660046200076d565b62000120565b6040516001600160a01b03909116815260200162000090565b60005462000086565b620000b0620000e336600462000856565b62000338565b6200010f620000fa36600462000686565b60016020526000908152604090205460ff1681565b604051901515815260200162000090565b336000818152600260205260408120805491928392909183620001438362000870565b90915550604080516001600160a01b039093166020840152820152606001604051602081830303815290604052805190602001208b8b8b8b8b8b8b8b8b6040516200018e906200064d565b620001a299989796959493929190620008ec565b8190604051809103906000f5905080158015620001c3573d6000803e3d6000fd5b50905083156200024b576200024b338286846001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000213573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000239919062000968565b6001600160a01b031692919062000363565b6000819080600181540180825580915050600190039060005260206000200160009091909190916101000a8154816001600160a01b0302191690836001600160a01b031602179055506001806000836001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550876001600160a01b0316896001600160a01b0316826001600160a01b03167fc56567f6a29fddd9d58e1b710306ab9af164da3f9df01fd50069df34040da9118e8e6040516200032292919062000988565b60405180910390a49a9950505050505050505050565b600081815481106200034957600080fd5b6000918252602090912001546001600160a01b0316905081565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052620003bf908590620003c5565b50505050565b60006200041c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316620004aa9092919063ffffffff16565b905080516000148062000440575080806020019051810190620004409190620009ba565b620004a55760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084015b60405180910390fd5b505050565b6060620004bb8484600085620004c3565b949350505050565b606082471015620005265760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016200049c565b600080866001600160a01b03168587604051620005449190620009de565b60006040518083038185875af1925050503d806000811462000583576040519150601f19603f3d011682016040523d82523d6000602084013e62000588565b606091505b50915091506200059b87838387620005a6565b979650505050505050565b606083156200061a57825160000362000612576001600160a01b0385163b620006125760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200049c565b5081620004bb565b620004bb8383815115620006315781518083602001fd5b8060405162461bcd60e51b81526004016200049c9190620009fc565b61544b8062000a1283390190565b6001600160a01b03811681146200067157600080fd5b50565b803562000681816200065b565b919050565b6000602082840312156200069957600080fd5b8135620006a6816200065b565b9392505050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620006d557600080fd5b813567ffffffffffffffff80821115620006f357620006f3620006ad565b604051601f8301601f19908116603f011681019082821181831017156200071e576200071e620006ad565b816040528381528660208588010111156200073857600080fd5b836020870160208301376000602085830101528094505050505092915050565b803563ffffffff811681146200068157600080fd5b60008060008060008060008060006101208a8c0312156200078d57600080fd5b893567ffffffffffffffff80821115620007a657600080fd5b620007b48d838e01620006c3565b9a5060208c0135915080821115620007cb57600080fd5b50620007da8c828d01620006c3565b98505060408a0135620007ed816200065b565b965060608a0135620007ff816200065b565b95506200080f60808b0162000674565b94506200081f60a08b0162000674565b93506200082f60c08b0162000758565b925060e08a01359150620008476101008b0162000674565b90509295985092959850929598565b6000602082840312156200086957600080fd5b5035919050565b6000600182016200089157634e487b7160e01b600052601160045260246000fd5b5060010190565b60005b83811015620008b55781810151838201526020016200089b565b50506000910152565b60008151808452620008d881602086016020860162000898565b601f01601f19169290920160200192915050565b6000610120808352620009028184018d620008be565b9050828103602084015262000918818c620008be565b6001600160a01b039a8b166040850152988a1660608401525050948716608086015292861660a085015263ffffffff9190911660c084015260e08301529092166101009092019190915292915050565b6000602082840312156200097b57600080fd5b8151620006a6816200065b565b6040815260006200099d6040830185620008be565b8281036020840152620009b18185620008be565b95945050505050565b600060208284031215620009cd57600080fd5b81518015158114620006a657600080fd5b60008251620009f281846020870162000898565b9190910192915050565b602081526000620006a66020830184620008be56fe6102206040523480156200001257600080fd5b506040516200544b3803806200544b83398101604081905262000035916200077c565b8086868b8b8a6001600160a01b031663b0812d7b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000079573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009f919062000865565b6040805180820190915260018152603160f81b60208201528390819081856003620000cb83826200091d565b506004620000da82826200091d565b50620000ec9150839050600562000367565b61012052620000fd81600662000367565b61014052815160208084019190912060e052815190820120610100524660a0526200018b60e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c052506001600160a01b038116600003620001c0576040516319b9815760e11b815260040160405180910390fd5b6001600160a01b039081166101605284169150620001f39050576040516305d872f360e21b815260040160405180910390fd5b6001600160a01b038216610180526200020c81620003a0565b506200021a90508162000412565b506001600160a01b03871662000243576040516307877e8560e01b815260040160405180910390fd5b6001600160a01b0381166200026b57604051630962257960e11b815260040160405180910390fd5b6000876001600160a01b03166338d52e0f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002d2919062000865565b9050600080620002e28362000464565b915091508115620002fb5760ff81166102005262000324565b60405163f500876960e01b81526001600160a01b03841660048201526024015b60405180910390fd5b6001600160a01b038084166101e0528a166101c0526101a08590526200034a8762000549565b620003558662000593565b50505050505050505050505062000a7b565b600060208351101562000387576200037f836200062c565b90506200039a565b816200039484826200091d565b5060ff90505b92915050565b6001600160a01b038116620003c857604051634d9808e160e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517fa04eca05f1c4f5674beaad80f345070124aa2192abced410b9b227c0c04e755a90600090a250565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60408051600481526024810182526020810180516001600160e01b031663313ce56760e01b17905290516000918291829182916001600160a01b03871691620004ad91620009e9565b600060405180830381855afa9150503d8060008114620004ea576040519150601f19603f3d011682016040523d82523d6000602084013e620004ef565b606091505b50915091508180156200050457506020815110155b156200053c5760008180602001905181019062000522919062000a07565b905060ff81116200053a576001969095509350505050565b505b5060009485945092505050565b600d80546001600160a01b0319166001600160a01b0383169081179091556040517f5d55a9f17ebec95846f4d400ad862a51f9564a7973f6622d3c99a34feb6a0aec90600090a250565b6335a4e90063ffffffff82161115620005d257604051637bcc613b60e01b815263ffffffff821660048201526335a4e90060248201526044016200031b565b600c805463ffffffff60a01b1916600160a01b63ffffffff8416908102919091179091556040519081527fefb99600b8c2baadc10ee4fe77c625b379acb4c29fbb0b90a5f17652d7de03419060200160405180910390a150565b600080829050601f815111156200065a578260405163305a27a960e01b81526004016200031b919062000a21565b8051620006678262000a56565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620006a257818101518382015260200162000688565b50506000910152565b600082601f830112620006bd57600080fd5b81516001600160401b0380821115620006da57620006da6200066f565b604051601f8301601f19908116603f011681019082821181831017156200070557620007056200066f565b816040528381528660208588010111156200071f57600080fd5b6200073284602083016020890162000685565b9695505050505050565b6001600160a01b03811681146200075257600080fd5b50565b805162000762816200073c565b919050565b805163ffffffff811681146200076257600080fd5b60008060008060008060008060006101208a8c0312156200079c57600080fd5b89516001600160401b0380821115620007b457600080fd5b620007c28d838e01620006ab565b9a5060208c0151915080821115620007d957600080fd5b50620007e88c828d01620006ab565b98505060408a0151620007fb816200073c565b60608b01519097506200080e816200073c565b95506200081e60808b0162000755565b94506200082e60a08b0162000755565b93506200083e60c08b0162000767565b925060e08a01519150620008566101008b0162000755565b90509295985092959850929598565b6000602082840312156200087857600080fd5b815162000885816200073c565b9392505050565b600181811c90821680620008a157607f821691505b602082108103620008c257634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000918576000816000526020600020601f850160051c81016020861015620008f35750805b601f850160051c820191505b818110156200091457828155600101620008ff565b5050505b505050565b81516001600160401b038111156200093957620009396200066f565b62000951816200094a84546200088c565b84620008c8565b602080601f831160018114620009895760008415620009705750858301515b600019600386901b1c1916600185901b17855562000914565b600085815260208120601f198616915b82811015620009ba5788860151825594840194600190910190840162000999565b5085821015620009d95787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60008251620009fd81846020870162000685565b9190910192915050565b60006020828403121562000a1a57600080fd5b5051919050565b602081526000825180602084015262000a4281604085016020870162000685565b601f01601f19169190910160400192915050565b80516020808301519190811015620008c25760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516101a0516101c0516101e0516102005161483062000c1b600039600061054401526000818161058b01528181610a3f01528181610d7001528181611376015281816114d10152818161166f0152818161173601528181611a0301528181611d2301528181611d6f015281816121350152818161239701528181612ca201528181612ce201528181612d6401528181613030015261320201526000818161078c01528181610ac70152818161140c0152818161155901528181612d8601528181612dc401528181612e56015281816130b90152818161316d01526133cd01526000818161049d01528181610df30152818161131d0152612745015260008181610687015281816106c9015281816110db01528181611f6a015261203e0152600081816107c601528181610cf901528181611819015281816128150152818161296b01526139c401526000611b6501526000611b3a01526000612b2901526000612b0101526000612a5c01526000612a8601526000612ab001526148306000f3fe608060405234801561001057600080fd5b50600436106104125760003560e01c80638da5cb5b11610220578063c8576e6111610130578063de03f408116100b8578063e63a391f11610087578063e63a391f146109ee578063edb8eb80146109f9578063ef8b30f7146107fb578063f2fde38b14610a0c578063fc7b9c1814610a1f57600080fd5b8063de03f40814610913578063e16777c1146109b3578063e30c3978146109ca578063e4e243ac146109db57600080fd5b8063d379be23116100ff578063d379be23146108bf578063d4122abf146108d2578063d505accf146108da578063d905777e146108ed578063dd62ed3e1461090057600080fd5b8063c8576e611461086b578063cdfb58321461087e578063ce96cb7714610891578063d30ae1b4146108a457600080fd5b8063a9059cbb116101b3578063b460af9411610182578063b460af941461080c578063ba0876521461081f578063c63d75b614610832578063c6e6f59214610845578063c78c72c11461085857600080fd5b8063a9059cbb146107ae578063b0812d7b146107c1578063b0fcf626146107e8578063b3d7f6b9146107fb57600080fd5b80639f40a7b3116101ef5780639f40a7b31461074e578063a318c1a414610761578063a457c2d714610774578063a7f8a5e21461078757600080fd5b80638da5cb5b1461072c57806394bf804d1461066357806395d89b411461073d5780639a1adf9a1461074557600080fd5b806338d52e0f11610326578063649f2394116102ae578063715018a61161027d578063715018a6146106bc578063719ce73e146106c45780637cc99d3f146106eb5780637ecebe00146106fe57806384b0196e1461071157600080fd5b8063649f2394146106505780636e553f6514610663578063700f04ef1461067657806370a08231146106a957600080fd5b80634244aa9b116102f55780634244aa9b146106075780634cdad5061461060f5780634e71e0c81461062257806350921b231461062a57806363003b161461063d57600080fd5b806338d52e0f1461058957806339509351146105c35780634006522b146105d6578063402d267d146105f457600080fd5b80631b571924116103a957806325fa66e01161037857806325fa66e0146105155780632895cace1461052a578063313ce5671461053d578063353d5a181461056e5780633644e5151461058157600080fd5b80631b571924146104c75780631caa73cb146104da578063237fd108146104fa57806323b872dd1461050257600080fd5b80630a28a477116103e55780630a28a4771461047d5780630d1e52551461049057806313dc6c5d1461049857806318160ddd146104bf57600080fd5b806301e1d1141461041757806306fdde031461043257806307a2d13a14610447578063095ea7b31461045a575b600080fd5b61041f610a27565b6040519081526020015b60405180910390f35b61043a610bb1565b6040516104299190613fb1565b61041f610455366004613fc4565b610c43565b61046d610468366004613ff2565b610c66565b6040519015158152602001610429565b61041f61048b366004613fc4565b610c7e565b61041f610cc7565b61041f7f000000000000000000000000000000000000000000000000000000000000000081565b61041f610ce1565b61046d6104d536600461401e565b610d6c565b6104e56335a4e90081565b60405163ffffffff9091168152602001610429565b61041f610dd4565b61046d610510366004614057565b610e25565b610528610523366004614098565b610e49565b005b61041f6105383660046140da565b610efe565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610429565b61052861057c366004613fc4565b6111dd565b61041f6112c6565b7f00000000000000000000000000000000000000000000000000000000000000005b6040516001600160a01b039091168152602001610429565b61046d6105d1366004613ff2565b6112d0565b6105e0620249f081565b60405162ffffff9091168152602001610429565b61041f610602366004614098565b6112f2565b61041f6114b9565b61041f61061d366004613fc4565b611598565b6105286115a6565b61041f610638366004614153565b611627565b61052861064b366004614098565b6117ab565b600f546105ab906001600160a01b031681565b61041f6106713660046141ad565b6117f0565b6105ab610684366004614098565b507f000000000000000000000000000000000000000000000000000000000000000090565b61041f6106b7366004614098565b6117ff565b610528611891565b6105ab7f000000000000000000000000000000000000000000000000000000000000000081565b61043a6106f93660046141d2565b6118d6565b61041f61070c366004614098565b611b0e565b610719611b2c565b6040516104299796959493929190614223565b600b546001600160a01b03166105ab565b61043a611bb5565b61041f600e5481565b61041f61075c3660046142bc565b611bc4565b61041f61076f3660046142bc565b611c12565b61046d610782366004613ff2565b611c58565b6105ab7f000000000000000000000000000000000000000000000000000000000000000081565b61046d6107bc366004613ff2565b611cd3565b6105ab7f000000000000000000000000000000000000000000000000000000000000000081565b61041f6107f6366004614098565b611ce1565b61041f610809366004613fc4565b90565b61041f61081a3660046142e4565b611e7d565b61041f61082d3660046142e4565b611e98565b61041f610840366004614098565b611eb3565b61041f610853366004613fc4565b611ebe565b610528610866366004614326565b611edb565b610528610879366004614338565b611f2a565b61052861088c366004614098565b6120bb565b61041f61089f366004614098565b6120fd565b6108ac608081565b60405161ffff9091168152602001610429565b600a546105ab906001600160a01b031681565b61041f6121ee565b6105286108e83660046143c1565b6121fb565b61041f6108fb366004614098565b61235f565b61041f61090e36600461401e565b61245c565b610984610921366004614098565b6040805160608082018352600080835260208084018290529284018190526001600160a01b03948516815260098352839020835191820184525460ff80821615158352610100820416151592820192909252620100009091049092169082015290565b60408051825115158152602080840151151590820152918101516001600160a01b031690820152606001610429565b600c546104e590600160a01b900463ffffffff1681565b600c546001600160a01b03166105ab565b6105286109e936600461442f565b612487565b6104e5633b9aca0081565b600d546105ab906001600160a01b031681565b610528610a1a366004614098565b6124c9565b61041f6125b0565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015610a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab2919061444a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906307a2d13a9082906370a08231906024015b602060405180830381865afa158015610b1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b43919061444a565b6040518263ffffffff1660e01b8152600401610b6191815260200190565b602060405180830381865afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba2919061444a565b610bac9190614479565b905090565b606060038054610bc09061448c565b80601f0160208091040260200160405190810160405280929190818152602001828054610bec9061448c565b8015610c395780601f10610c0e57610100808354040283529160200191610c39565b820191906000526020600020905b815481529060010190602001808311610c1c57829003601f168201915b5050505050905090565b6000610c6082610c51610a27565b610c596125b0565b60006125bd565b92915050565b600033610c748185856125e0565b5060019392505050565b600080610c896114b9565b905080600003610cac5760405163f0bd6f1b60e01b815260040160405180910390fd5b610cc08382610cb96125b0565b6001612705565b9392505050565b6000610bac610cd46114b9565b610cdc6125b0565b612734565b6040516339370aa960e21b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063e4dc2aa490602401602060405180830381865afa158015610d48573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bac919061444a565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161480610db657506001600160a01b03831630145b8015610cc0575050600f546001600160a01b03908116911614919050565b600080610def610de26114b9565b610dea6125b0565b61277f565b90507f0000000000000000000000000000000000000000000000000000000000000000808210610e1f5792915050565b50919050565b600033610e33858285612799565b610e3e858585612813565b506001949350505050565b33610e5c600b546001600160a01b031690565b6001600160a01b031614610e8b5760405162461bcd60e51b8152600401610e82906144c0565b60405180910390fd5b6001600160a01b038116610eb257604051630ac5b1f760e11b815260040160405180910390fd5b600f80546001600160a01b0319166001600160a01b03831690811790915560405130907fb540015bf51edcbfd9e43df5316486615bf954f7b4c6cc0304eb3757f1601f9590600090a350565b600a546000906001600160a01b03163314610f3d57600a54604051637f4b239760e11b8152610e829133916001600160a01b03909116906004016144f7565b6001600160a01b03861660009081526009602052604081205460609060ff161561105a576001600160a01b03888116600081815260096020526040808220549051602481019390935260ff8b16604484015263ffffffff8a1660648401526001600160601b038916608484015287841660a484015290928392611008926201000090049091169063b4db727f60e01b9060c4015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612902565b909250905060808111156110395760405163756d9e2960e01b81526004810182905260806024820152604401610e82565b8180602001905181019061104d9190614527565b909450925061105e915050565b8791505b6001600160a01b0382166110855760405163e1c2596f60e01b815260040160405180910390fd5b6040516311e7375f60e21b81526001600160a01b03898116600483015260ff8916602483015263ffffffff8816604483015283811660648301526001600160601b038716608483015285811660a48301526000917f00000000000000000000000000000000000000000000000000000000000000009091169063479cdd7c9060c4016020604051808303816000875af1158015611126573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061114a919061444a565b6001600160a01b038a16600090815260096020526040902054909150610100900460ff16156111d1576001600160a01b03808a166000908152600960205260409020546111ce91620100009091041663d44c6da360e01b8b8b8b6111b76001600160601b038d16886145ea565b8989604051602401610fd1969594939291906145fd565b50505b98975050505050505050565b600d546001600160a01b0316331461121957600d54604051630e69d0db60e11b8152610e829133916001600160a01b03909116906004016144f7565b8060000361123a5760405163b31accb760e01b815260040160405180910390fd5b600e5481111561126b57600e546040516304ed794960e21b8152610e82918391600401918252602082015260400190565b80600e600082825461127d91906145ea565b9091555061128d90503382612969565b60405181815233907f9b51aebdd88b3f321397bdf9848415ce15dedd1783c775b93b8036c6b0af0f56906020015b60405180910390a250565b6000610bac612a4f565b600033610c748185856112e3838361245c565b6112ed9190614479565b6125e0565b6000806112fd6125b0565b905060008061130a612b7a565b9150915081158061134e575061134160027f000000000000000000000000000000000000000000000000000000000000000061465b565b61134b9084614479565b81105b1561135e57506000949350505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156113c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113e9919061444a565b60405163402d267d60e01b81523060048201529091506000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063402d267d90602401602060405180830381865afa158015611453573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611477919061444a565b905080821061148d575060009695505050505050565b600061149886612bee565b90508282038082106114aa57806114ac565b815b9998505050505050505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611520573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611544919061444a565b6040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634cdad5069082906370a0823190602401610b02565b6000610c6082610c516114b9565b600c546001600160a01b031633146116005760405162461bcd60e51b815260206004820152601f60248201527f4f776e61626c652f63616c6c65722d6e6f742d70656e64696e674f776e6572006044820152606401610e82565b600c54611615906001600160a01b0316612c01565b600c80546001600160a01b0319169055565b60006001600160a01b03861633146116565733866040516358fe888560e01b8152600401610e829291906144f7565b604051636eb1769f60e11b815287906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063dd62ed3e906116a6908a9030906004016144f7565b602060405180830381865afa1580156116c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116e7919061444a565b146117935760405163d505accf60e01b81526001600160a01b038781166004830152306024830152604482018990526064820187905260ff8616608483015260a4820185905260c482018490527f0000000000000000000000000000000000000000000000000000000000000000169063d505accf9060e401600060405180830381600087803b15801561177a57600080fd5b505af115801561178e573d6000803e3d6000fd5b505050505b866117a087808380612c53565b979650505050505050565b336117be600b546001600160a01b031690565b6001600160a01b0316146117e45760405162461bcd60e51b8152600401610e82906144c0565b6117ed81612f97565b50565b600082610cc033848380612c53565b604051633de222bb60e21b81526000906001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063f7888aec9061185090309086906004016144f7565b602060405180830381865afa15801561186d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c60919061444a565b336118a4600b546001600160a01b031690565b6001600160a01b0316146118ca5760405162461bcd60e51b8152600401610e82906144c0565b6118d46000612c01565b565b600f546060906001600160a01b0316331461191557600f546040516317140eff60e11b8152610e829133916001600160a01b03909116906004016144f7565b8160000361193657604051634750846560e11b815260040160405180910390fd5b60006119406125b0565b9050600061195561194f6114b9565b83612734565b600c54909150600160a01b900463ffffffff16600081156119aa578561197f83633b9aca0061467d565b63ffffffff16611993633b9aca00896146a1565b61199d919061465b565b6119a791906145ea565b90505b826119b58288614479565b11156119e9576119c58187614479565b6040516374281bbb60e11b8152600481019190915260248101849052604401610e82565b8015611a015780600e546119fd9190614479565b600e555b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031603611a5357611a448482612fe1565b611a4e8887613018565b611aa4565b306001600160a01b03881603611a8057611a7684611a718389614479565b612fe1565b611a4e8887612969565b6040516304bc290f60e51b81526001600160a01b0388166004820152602401610e82565b60408051878152602081018390526001600160a01b03808b1692908a169133917f64d8a6bd56c2c610cd5d2ed87ba4bde3659df2650c7ad8aabde397decf94e07d910160405180910390a4604051806020016040528060008152509450505050505b949350505050565b6001600160a01b038116600090815260076020526040812054610c60565b600060608082808083611b607f00000000000000000000000000000000000000000000000000000000000000006005613229565b611b8b7f00000000000000000000000000000000000000000000000000000000000000006006613229565b60408051600080825260208201909252600f60f81b9b939a50919850469750309650945092509050565b606060048054610bc09061448c565b600080611bd086611598565b905082811015611bfc57604051629af28160e41b81526004810182905260248101849052604401610e82565b611c0933868689856132d4565b95945050505050565b600080611c1e86610c7e565b905082811115611c4b5760405163654df34d60e01b81526004810182905260248101849052604401610e82565b611c09338686848a6132d4565b60003381611c66828661245c565b905083811015611cc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610e82565b610e3e82868684036125e0565b600033610c74818585612813565b600080611cec6125b0565b600c54909150600160a01b900463ffffffff166000306001600160a01b03861603611d2157611d1a83612bee565b9050611e37565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031603611e2c576040516370a0823160e01b81523060048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de2919061444a565b611dea6133b5565b611df49190614479565b90508115611e27576000611e17633b9aca0084611e1087612bee565b91906134ae565b905081811015611e25578091505b505b611e37565b506000949350505050565b6000611e4a611e446114b9565b85612734565b9050600082821015611e5c5781611e5e565b825b90506117a0611e7185633b9aca006145ea565b8290633b9aca006134ae565b600080611e8985610c7e565b9050611b0633858584896132d4565b600080611ea485611598565b9050611b0633858588856132d4565b6000610c60826112f2565b6000610c6082611ecc610a27565b611ed46125b0565b6000612705565b3360009081526009602052604090208190611ef682826146c6565b505060405133907f5eaf51436f308830fc57b00bb6843675b383bce9b2c669e1b9ce60de8bbb9e8e906112bb908490614740565b600f546001600160a01b03163314611f6657600f546040516317140eff60e11b8152610e829133916001600160a01b03909116906004016144f7565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d0ef024a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611fc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fea919061478e565b9050806001600160a01b0316856001600160a01b031614612022578481604051630c0760c160e21b8152600401610e829291906144f7565b604051630eedfb4560e41b8152306004820152602481018590527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063eedfb450906044016020604051808303816000875af115801561208f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120b3919061444a565b505050505050565b336120ce600b546001600160a01b031690565b6001600160a01b0316146120f45760405162461bcd60e51b8152600401610e82906144c0565b6117ed81613598565b600080600061210a612b7a565b915091508161211d575060009392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612184573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a8919061444a565b6121b06133b5565b6121ba9190614479565b905060006121d36121ca876117ff565b84610c596125b0565b90508181106121e257816121e4565b805b9695505050505050565b6000610bac610de26114b9565b8342111561224b5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610e82565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c988888861227a8c613609565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e00160405160208183030381529060405280519060200120905060006122d58261362f565b905060006122e58287878761365c565b9050896001600160a01b0316816001600160a01b0316146123485760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610e82565b6123538a8a8a6125e0565b50505050505050505050565b600080600061236c612b7a565b915091508161237f575060009392505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa1580156123e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061240a919061444a565b6124126133b5565b61241c9190614479565b90506000612429866117ff565b9050818111156121e25760006124428385610cb96125b0565b90508181101561245257806117a0565b5095945050505050565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3361249a600b546001600160a01b031690565b6001600160a01b0316146124c05760405162461bcd60e51b8152600401610e82906144c0565b6117ed8161367a565b336124dc600b546001600160a01b031690565b6001600160a01b0316146125025760405162461bcd60e51b8152600401610e82906144c0565b6001600160a01b0381166125665760405162461bcd60e51b815260206004820152602560248201527f4f776e61626c652f70656e64696e674f776e65722d6e6f742d7a65726f2d6164604482015264647265737360d81b6064820152608401610e82565b600c80546001600160a01b0319166001600160a01b0383169081179091556040517f239a2ddded15777fa246aed5f7e1a9bc69a39d4eb4a397034d1d85766cca7d4c90600090a250565b6000600e54610ba2610ce1565b60008284106125cd575083611b06565b6125d985858585613711565b9050611b06565b6001600160a01b0383166126425760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610e82565b6001600160a01b0382166126a35760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610e82565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6000828410612715575083611b06565b831561272c5761272785848685613711565b6125d9565b506000611b06565b600080612741848461277f565b90507f00000000000000000000000000000000000000000000000000000000000000008082106127745790039050610c60565b600092505050610c60565b600082821061279057506000610c60565b50808203610c60565b60006127a5848461245c565b9050600019811461280d57818110156128005760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610e82565b61280d84848484036125e0565b50505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663c661667d848461284d85613762565b6040516001600160e01b031960e086901b1681526001600160a01b0393841660048201529290911660248301526001600160601b03166044820152606401600060405180830381600087803b1580156128a557600080fd5b505af11580156128b9573d6000803e3d6000fd5b50505050816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516126f891815260200190565b60606000806129216001600160a01b038616620249f0836080886137ce565b93503d92509050806129615760808211156129595760405163756d9e2960e01b81526004810183905260806024820152604401610e82565b825183602001fd5b509250929050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631b025a40836129a284613762565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526001600160601b03166024820152604401600060405180830381600087803b1580156129f157600080fd5b505af1158015612a05573d6000803e3d6000fd5b50506040518381526001600160a01b0385169250600091507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015612aa857507f000000000000000000000000000000000000000000000000000000000000000046145b15612ad257507f000000000000000000000000000000000000000000000000000000000000000090565b610bac604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b600080306001600160a01b0316634244aa9b6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612bd7575060408051601f3d908101601f19168201909252612bd49181019061444a565b60015b612be45750600090508091565b6001925090509091565b6000610c60826001600160601b036145ea565b600b80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80600003612c745760405163b31accb760e01b815260040160405180910390fd5b81600003612c955760405163f0f4d07b60e01b815260040160405180910390fd5b612cca6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016853085613859565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015612d31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d55919061444a565b9050612dab6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f0000000000000000000000000000000000000000000000000000000000000000836138c4565b60405163ef8b30f760e01b8152600481018290526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ef8b30f790602401602060405180830381865afa158015612e13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e37919061444a565b6040516394bf804d60e01b8152600481018290523060248201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906394bf804d906044016020604051808303816000875af1158015612ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ecb919061444a565b506000612ed66125b0565b9050612ee28185612fe1565b612eec8482614479565b612ef46114b9565b1015612f2e57612f026114b9565b612f0c8583614479565b6040516315c5982d60e11b815260048101929092526024820152604401610e82565b612f388685612969565b856001600160a01b0316876001600160a01b03167fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d78787604051612f86929190918252602082015260400190565b60405180910390a350505050505050565b600d80546001600160a01b0319166001600160a01b0383169081179091556040517f5d55a9f17ebec95846f4d400ad862a51f9564a7973f6622d3c99a34feb6a0aec90600090a250565b6000612fec83612bee565b90508082111561301357604051637e0311c360e11b81528183036004820152602401610e82565b505050565b6040516370a0823160e01b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa15801561307f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906130a3919061444a565b9050808211156131e55760006001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016630a28a4776130e884866145ea565b6040518263ffffffff1660e01b815260040161310691815260200190565b602060405180830381865afa158015613123573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613147919061444a565b604051635d043b2960e11b815260048101829052306024820181905260448201529091507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063ba087652906064016020604051808303816000875af11580156131be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131e2919061444a565b50505b6001600160a01b0383163014613013576130136001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168484613953565b606060ff83146132435761323c83613983565b9050610c60565b81805461324f9061448c565b80601f016020809104026020016040519081016040528092919081815260200182805461327b9061448c565b80156132c85780601f1061329d576101008083540402835291602001916132c8565b820191906000526020600020905b8154815290600101906020018083116132ab57829003601f168201915b50505050509050610c60565b806000036132f55760405163f3c41a2b60e01b815260040160405180910390fd5b8160000361331657604051632f73c6c360e11b815260040160405180910390fd5b826001600160a01b0316856001600160a01b03161461333a5761333a838684612799565b61334483836139c2565b61334e8482613018565b826001600160a01b0316846001600160a01b0316866001600160a01b03167ffbde797d201c681b91056529119e0b02407c7bb96a4a2c75c01fc9667232c8db84866040516133a6929190918252602082015260400190565b60405180910390a45050505050565b604051636c82bbbf60e11b81523060048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690634cdad50690829063d905777e90602401602060405180830381865afa158015613424573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613448919061444a565b6040518263ffffffff1660e01b815260040161346691815260200190565b602060405180830381865afa92505050801561349f575060408051601f3d908101601f1916820190925261349c9181019061444a565b60015b6134a95750600090565b919050565b60008080600019858709858702925082811083820303915050806000036134e8578382816134de576134de614645565b0492505050610cc0565b80841161352f5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610e82565b60008486880960026001871981018816978890046003810283188082028403028082028403028082028403028082028403028082028403029081029092039091026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160a01b0381166135bf57604051634d9808e160e11b815260040160405180910390fd5b600a80546001600160a01b0319166001600160a01b0383169081179091556040517fa04eca05f1c4f5674beaad80f345070124aa2192abced410b9b227c0c04e755a90600090a250565b6001600160a01b0381166000908152600760205260409020805460018101825590610e1f565b6000610c6061363c612a4f565b8360405161190160f01b8152600281019290925260228201526042902090565b600080600061366d87878787613aa0565b9150915061245281613b64565b6335a4e90063ffffffff821611156136b757604051637bcc613b60e01b815263ffffffff821660048201526335a4e9006024820152604401610e82565b600c805463ffffffff60a01b1916600160a01b63ffffffff8416908102919091179091556040519081527fefb99600b8c2baadc10ee4fe77c625b379acb4c29fbb0b90a5f17652d7de03419060200160405180910390a150565b60008061371f8686866134ae565b90506001836002811115613735576137356147ab565b14801561375257506000848061374d5761374d614645565b868809115b15611c09576121e4600182614479565b60006001600160601b038211156137ca5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203960448201526536206269747360d01b6064820152608401610e82565b5090565b6000606060008060008661ffff1667ffffffffffffffff8111156137f4576137f4614511565b6040519080825280601f01601f19166020018201604052801561381e576020820181803683370190505b5090506000808751602089018b8e8ef191503d92508683111561383f578692505b828152826000602083013e90999098509650505050505050565b6040516001600160a01b038085166024830152831660448201526064810182905261280d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613cae565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526139158482613d83565b61280d576040516001600160a01b03841660248201526000604482015261394990859063095ea7b360e01b9060640161388d565b61280d8482613cae565b6040516001600160a01b03831660248201526044810182905261301390849063a9059cbb60e01b9060640161388d565b6060600061399083613e26565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316638df2c8e6836139fb84613762565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526001600160601b03166024820152604401600060405180830381600087803b158015613a4a57600080fd5b505af1158015613a5e573d6000803e3d6000fd5b5050604051838152600092506001600160a01b03851691507fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001612a43565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115613ad75750600090506003613b5b565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015613b2b573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116613b5457600060019250925050613b5b565b9150600090505b94509492505050565b6000816004811115613b7857613b786147ab565b03613b805750565b6001816004811115613b9457613b946147ab565b03613be15760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610e82565b6002816004811115613bf557613bf56147ab565b03613c425760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610e82565b6003816004811115613c5657613c566147ab565b036117ed5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610e82565b6000613d03826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613e4e9092919063ffffffff16565b9050805160001480613d24575080806020019051810190613d2491906147c1565b6130135760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610e82565b6000806000846001600160a01b031684604051613da091906147de565b6000604051808303816000865af19150503d8060008114613ddd576040519150601f19603f3d011682016040523d82523d6000602084013e613de2565b606091505b5091509150818015613e0c575080511580613e0c575080806020019051810190613e0c91906147c1565b8015611c095750505050506001600160a01b03163b151590565b600060ff8216601f811115610c6057604051632cd44ac360e21b815260040160405180910390fd5b6060611b06848460008585600080866001600160a01b03168587604051613e7591906147de565b60006040518083038185875af1925050503d8060008114613eb2576040519150601f19603f3d011682016040523d82523d6000602084013e613eb7565b606091505b50915091506117a08783838760608315613f32578251600003613f2b576001600160a01b0385163b613f2b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610e82565b5081611b06565b611b068383815115613f475781518083602001fd5b8060405162461bcd60e51b8152600401610e829190613fb1565b60005b83811015613f7c578181015183820152602001613f64565b50506000910152565b60008151808452613f9d816020860160208601613f61565b601f01601f19169290920160200192915050565b602081526000610cc06020830184613f85565b600060208284031215613fd657600080fd5b5035919050565b6001600160a01b03811681146117ed57600080fd5b6000806040838503121561400557600080fd5b823561401081613fdd565b946020939093013593505050565b6000806040838503121561403157600080fd5b823561403c81613fdd565b9150602083013561404c81613fdd565b809150509250929050565b60008060006060848603121561406c57600080fd5b833561407781613fdd565b9250602084013561408781613fdd565b929592945050506040919091013590565b6000602082840312156140aa57600080fd5b8135610cc081613fdd565b803560ff811681146134a957600080fd5b803563ffffffff811681146134a957600080fd5b600080600080600060a086880312156140f257600080fd5b85356140fd81613fdd565b945061410b602087016140b5565b9350614119604087016140c6565b925060608601356001600160601b038116811461413557600080fd5b9150608086013561414581613fdd565b809150509295509295909350565b60008060008060008060c0878903121561416c57600080fd5b86359550602087013561417e81613fdd565b945060408701359350614193606088016140b5565b92506080870135915060a087013590509295509295509295565b600080604083850312156141c057600080fd5b82359150602083013561404c81613fdd565b600080600080608085870312156141e857600080fd5b84356141f381613fdd565b9350602085013561420381613fdd565b9250604085013561421381613fdd565b9396929550929360600135925050565b60ff60f81b881681526000602060e0602084015261424460e084018a613f85565b8381036040850152614256818a613f85565b606085018990526001600160a01b038816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b818110156142aa5783518352928401929184019160010161428e565b50909c9b505050505050505050505050565b600080600080608085870312156142d257600080fd5b84359350602085013561420381613fdd565b6000806000606084860312156142f957600080fd5b83359250602084013561430b81613fdd565b9150604084013561431b81613fdd565b809150509250925092565b600060608284031215610e1f57600080fd5b6000806000806060858703121561434e57600080fd5b843561435981613fdd565b935060208501359250604085013567ffffffffffffffff8082111561437d57600080fd5b818701915087601f83011261439157600080fd5b8135818111156143a057600080fd5b8860208285010111156143b257600080fd5b95989497505060200194505050565b600080600080600080600060e0888a0312156143dc57600080fd5b87356143e781613fdd565b965060208801356143f781613fdd565b95506040880135945060608801359350614413608089016140b5565b925060a0880135915060c0880135905092959891949750929550565b60006020828403121561444157600080fd5b610cc0826140c6565b60006020828403121561445c57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610c6057610c60614463565b600181811c908216806144a057607f821691505b602082108103610e1f57634e487b7160e01b600052602260045260246000fd5b60208082526018908201527f4f776e61626c652f63616c6c65722d6e6f742d6f776e65720000000000000000604082015260600190565b6001600160a01b0392831681529116602082015260400190565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561453a57600080fd5b825161454581613fdd565b602084015190925067ffffffffffffffff8082111561456357600080fd5b818501915085601f83011261457757600080fd5b81518181111561458957614589614511565b604051601f8201601f19908116603f011681019083821181831017156145b1576145b1614511565b816040528281528860208487010111156145ca57600080fd5b6145db836020830160208801613f61565b80955050505050509250929050565b81810381811115610c6057610c60614463565b6001600160a01b03878116825260ff8716602083015263ffffffff86166040830152606082018590528316608082015260c060a082018190526000906111d190830184613f85565b634e487b7160e01b600052601260045260246000fd5b60008261467857634e487b7160e01b600052601260045260246000fd5b500490565b63ffffffff82811682821603908082111561469a5761469a614463565b5092915050565b8082028115828204841417610c6057610c60614463565b80151581146117ed57600080fd5b81356146d1816146b8565b815460ff19811691151560ff16918217835560208401356146f1816146b8565b61ff0090151560081b1661ffff198216831781178455604085013561471581613fdd565b6001600160b01b0319929092169092179190911760109190911b62010000600160b01b031617905550565b60608101823561474f816146b8565b151582526020830135614761816146b8565b15156020830152604083013561477681613fdd565b6001600160a01b031660409290920191909152919050565b6000602082840312156147a057600080fd5b8151610cc081613fdd565b634e487b7160e01b600052602160045260246000fd5b6000602082840312156147d357600080fd5b8151610cc0816146b8565b600082516147f0818460208701613f61565b919091019291505056fea26469706673582212209e548a1f576219dee6eeb50c3caacd6d0b2bc0943b527fd4f98b915284a37f0464736f6c63430008180033a264697066735822122019c1b1fdc2e58359f7687c9b406ba7433c6d3ca5f86c4f07d18d390cf91d6fad64736f6c63430008180033
🤖 Code Reader

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

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

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.