0 txs
0 calls
constructor
constructor()
functions
accountImplementation
viewfunction accountImplementation() view returns (address)
getAddress
viewfunction getAddress(address owner, uint256 salt) view returns (address)
owner
viewfunction owner() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
createAccount
nonpayablefunction createAccount(address owner, uint256 salt) returns (address ret)
initialize
nonpayablefunction initialize(address _entryPoint, address _tokenEntryPoint, address anOwner)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AccountCreated
event AccountCreated(address indexed account)
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100e1565b600054610100900460ff161561008e5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146100df576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051613e856101186000396000818161021c01528181610268015281816103100152818161035301526103ef0152613e856000f3fe6080604052600436106200009d5760003560e01c8063715018a61162000060578063715018a6146200016b5780638cb84e1814620001835780638da5cb5b14620001a8578063c0c53b8b14620001c8578063f2fde38b14620001ed57600080fd5b806311464fbe14620000a25780633659cfe614620000e15780634f1ef286146200010857806352d1902d146200011f5780635fbfb9cf1462000146575b600080fd5b348015620000af57600080fd5b5060c954620000c4906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b348015620000ee57600080fd5b50620001066200010036600462000e0c565b62000212565b005b620001066200011936600462000e42565b62000306565b3480156200012c57600080fd5b5062000137620003e2565b604051908152602001620000d8565b3480156200015357600080fd5b50620000c46200016536600462000f12565b62000498565b3480156200017857600080fd5b506200010662000586565b3480156200019057600080fd5b50620000c4620001a236600462000f12565b6200059e565b348015620001b557600080fd5b506033546001600160a01b0316620000c4565b348015620001d557600080fd5b5062000106620001e736600462000f41565b62000665565b348015620001fa57600080fd5b50620001066200020c36600462000e0c565b620007fc565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620002665760405162461bcd60e51b81526004016200025d9062000f93565b60405180910390fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316620002b160008051602062003e09833981519152546001600160a01b031690565b6001600160a01b031614620002da5760405162461bcd60e51b81526004016200025d9062000fdf565b620002e58162000878565b60408051600080825260208201909252620003039183919062000882565b50565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003620003515760405162461bcd60e51b81526004016200025d9062000f93565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166200039c60008051602062003e09833981519152546001600160a01b031690565b6001600160a01b031614620003c55760405162461bcd60e51b81526004016200025d9062000fdf565b620003d08262000878565b620003de8282600162000882565b5050565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614620004845760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016200025d565b5060008051602062003e0983398151915290565b600080620004a784846200059e565b6040519091506001600160a01b038216907f805996f252884581e2f74cf3d2b03564d5ec26ccc90850ae12653dc1b72d1fa290600090a26001600160a01b0381163b8015620004f95750905062000580565b60c9546040516001600160a01b0387811660248301528692169060440160408051601f198184030181529181526020820180516001600160e01b031663189acdbd60e31b179052516200054c9062000dda565b620005599291906200107f565b8190604051809103906000f59050801580156200057a573d6000803e3d6000fd5b50925050505b92915050565b62000590620009ff565b6200059c600062000a5b565b565b60006200065e8260001b60405180602001620005ba9062000dda565b601f1982820381018352601f90910116604081905260c9546001600160a01b038881166024840152169060440160408051601f19818403018152918152602080830180516001600160e01b031663189acdbd60e31b179052905162000622939291016200107f565b60408051601f1981840301815290829052620006429291602001620010a5565b6040516020818303038152906040528051906020012062000aad565b9392505050565b600054610100900460ff1615808015620006865750600054600160ff909116105b80620006a25750303b158015620006a2575060005460ff166001145b620007075760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016200025d565b6000805460ff1916600117905580156200072b576000805461ff0019166101001790555b6200073562000abc565b6200073f62000af0565b6200074a82620007fc565b83836040516200075a9062000de8565b6001600160a01b03928316815291166020820152604001604051809103906000f0801580156200078e573d6000803e3d6000fd5b5060c980546001600160a01b0319166001600160a01b03929092169190911790558015620007f6576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b62000806620009ff565b6001600160a01b0381166200086d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016200025d565b620003038162000a5b565b62000303620009ff565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615620008bd57620008b88362000b1a565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156200091a575060408051601f3d908101601f191682019092526200091791810190620010d8565b60015b6200097f5760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016200025d565b60008051602062003e098339815191528114620009f15760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016200025d565b50620008b883838362000bb9565b6033546001600160a01b031633146200059c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200025d565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60006200065e83833062000be4565b600054610100900460ff1662000ae65760405162461bcd60e51b81526004016200025d90620010f2565b6200059c62000c0e565b600054610100900460ff166200059c5760405162461bcd60e51b81526004016200025d90620010f2565b6001600160a01b0381163b62000b895760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016200025d565b60008051602062003e0983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b62000bc48362000c43565b60008251118062000bd25750805b15620008b857620007f6838362000c85565b6000604051836040820152846020820152828152600b8101905060ff815360559020949350505050565b600054610100900460ff1662000c385760405162461bcd60e51b81526004016200025d90620010f2565b6200059c3362000a5b565b62000c4e8162000b1a565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606200065e838360405180606001604052806027815260200162003e29602791396060600080856001600160a01b03168560405162000cc691906200113d565b600060405180830381855af49150503d806000811462000d03576040519150601f19603f3d011682016040523d82523d6000602084013e62000d08565b606091505b509150915062000d1b8683838762000d25565b9695505050505050565b6060831562000d9957825160000362000d91576001600160a01b0385163b62000d915760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016200025d565b508162000da5565b62000da5838362000dad565b949350505050565b81511562000dbe5781518083602001fd5b8060405162461bcd60e51b81526004016200025d91906200115b565b6104e1806200117183390190565b6127b7806200165283390190565b6001600160a01b03811681146200030357600080fd5b60006020828403121562000e1f57600080fd5b81356200065e8162000df6565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121562000e5657600080fd5b823562000e638162000df6565b9150602083013567ffffffffffffffff8082111562000e8157600080fd5b818501915085601f83011262000e9657600080fd5b81358181111562000eab5762000eab62000e2c565b604051601f8201601f19908116603f0116810190838211818310171562000ed65762000ed662000e2c565b8160405282815288602084870101111562000ef057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806040838503121562000f2657600080fd5b823562000f338162000df6565b946020939093013593505050565b60008060006060848603121562000f5757600080fd5b833562000f648162000df6565b9250602084013562000f768162000df6565b9150604084013562000f888162000df6565b809150509250925092565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60005b83811015620010485781810151838201526020016200102e565b50506000910152565b600081518084526200106b8160208601602086016200102b565b601f01601f19169290920160200192915050565b6001600160a01b038316815260406020820181905260009062000da59083018462001051565b60008351620010b98184602088016200102b565b835190830190620010cf8183602088016200102b565b01949350505050565b600060208284031215620010eb57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60008251620011518184602087016200102b565b9190910192915050565b6020815260006200065e60208301846200105156fe60806040526040516104e13803806104e1833981016040819052610022916102de565b61002e82826000610035565b50506103fb565b61003e83610061565b60008251118061004b5750805b1561005c5761005a83836100a1565b505b505050565b61006a816100cd565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606100c683836040518060600160405280602781526020016104ba60279139610180565b9392505050565b6001600160a01b0381163b61013f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080856001600160a01b03168560405161019d91906103ac565b600060405180830381855af49150503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b5090925090506101ef868383876101f9565b9695505050505050565b60608315610268578251600003610261576001600160a01b0385163b6102615760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610136565b5081610272565b610272838361027a565b949350505050565b81511561028a5781518083602001fd5b8060405162461bcd60e51b815260040161013691906103c8565b634e487b7160e01b600052604160045260246000fd5b60005b838110156102d55781810151838201526020016102bd565b50506000910152565b600080604083850312156102f157600080fd5b82516001600160a01b038116811461030857600080fd5b60208401519092506001600160401b038082111561032557600080fd5b818501915085601f83011261033957600080fd5b81518181111561034b5761034b6102a4565b604051601f8201601f19908116603f01168101908382118183101715610373576103736102a4565b8160405282815288602084870101111561038c57600080fd5b61039d8360208301602088016102ba565b80955050505050509250929050565b600082516103be8184602087016102ba565b9190910192915050565b60208152600082518060208401526103e78160408501602087016102ba565b601f01601f19169190910160400192915050565b60b1806104096000396000f3fe608060405236601057600e6013565b005b600e5b601f601b6021565b6058565b565b600060537f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e8080156076573d6000f35b3d6000fdfea264697066735822122004eafc12009ddd1bac09a0fbcdbbc0e38fdd09caf7f585983e4d324fd8f99a7364736f6c63430008140033416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c656460e0604052306080523480156200001557600080fd5b50604051620027b7380380620027b7833981016040819052620000389162000137565b6001600160a01b0380831660a052811660c052620000556200005d565b505062000176565b600054610100900460ff1615620000ca5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116146200011c576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6001600160a01b03811681146200013457600080fd5b50565b600080604083850312156200014b57600080fd5b825162000158816200011e565b60208401519092506200016b816200011e565b809150509250929050565b60805160a05160c0516125af62000208600039600081816103a20152818161050201526110e301526000818161034f0152818161087b0152818161090301528181610b3001528181610cf401528181610d580152818161109c0152818161137c015261176001526000818161079c015281816107dc0152818161098c015281816109cc0152610a4401526125af6000f3fe60806040526004361061014e5760003560e01c8063715018a6116100b6578063c399ec881161006f578063c399ec88146103f5578063c4d66de81461040a578063d087d2881461042a578063f23a6e611461043f578063f2fde38b1461046c578063fff35b721461048c57600080fd5b8063715018a6146102f95780638da5cb5b1461030e578063b0d691fe14610340578063b61d27f614610373578063bb50320614610393578063bc197c81146103c657600080fd5b80633659cfe6116101085780633659cfe61461025b5780633a871cdd1461027b5780634a58db19146102a95780634d44560d146102b15780634f1ef286146102d157806352d1902d146102e457600080fd5b806223de291461015a57806301ffc9a7146101815780630b699abe146101b6578063150b7a02146101d65780631626ba7e1461021b57806318dfb3c71461023b57600080fd5b3661015557005b600080fd5b34801561016657600080fd5b5061017f610175366004611d59565b5050505050505050565b005b34801561018d57600080fd5b506101a161019c366004611e09565b6104ac565b60405190151581526020015b60405180910390f35b3480156101c257600080fd5b5061017f6101d1366004611e33565b6104fe565b3480156101e257600080fd5b506102026101f1366004611e50565b630a85bd0160e11b95945050505050565b6040516001600160e01b031990911681526020016101ad565b34801561022757600080fd5b50610202610236366004611ec2565b610602565b34801561024757600080fd5b5061017f610256366004611f51565b610695565b34801561026757600080fd5b5061017f610276366004611e33565b610792565b34801561028757600080fd5b5061029b610296366004611fd5565b61085a565b6040519081526020016101ad565b61017f610879565b3480156102bd57600080fd5b5061017f6102cc366004612022565b6108f9565b61017f6102df366004612064565b610982565b3480156102f057600080fd5b5061029b610a37565b34801561030557600080fd5b5061017f610aea565b34801561031a57600080fd5b506033546001600160a01b03165b6040516001600160a01b0390911681526020016101ad565b34801561034c57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610328565b34801561037f57600080fd5b5061017f61038e366004612127565b610afe565b34801561039f57600080fd5b507f0000000000000000000000000000000000000000000000000000000000000000610328565b3480156103d257600080fd5b506102026103e1366004612176565b63bc197c8160e01b98975050505050505050565b34801561040157600080fd5b5061029b610b10565b34801561041657600080fd5b5061017f610425366004611e33565b610ba1565b34801561043657600080fd5b5061029b610ccd565b34801561044b57600080fd5b5061020261045a366004612213565b63f23a6e6160e01b9695505050505050565b34801561047857600080fd5b5061017f610487366004611e33565b610d23565b34801561049857600080fd5b506101a16104a736600461228e565b610d34565b60006001600160e01b03198216630a85bd0160e11b14806104dd57506001600160e01b03198216630271189760e51b145b806104f857506001600160e01b031982166301ffc9a760e01b145b92915050565b60007f00000000000000000000000000000000000000000000000000000000000000009050806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610561573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058591906122d2565b6001600160a01b0316336001600160a01b0316146105f55760405162461bcd60e51b815260206004820152602260248201527f4f776e61626c653a206e6f7420546f6b656e456e747279506f696e74206f776e60448201526132b960f11b60648201526084015b60405180910390fd5b6105fe82610de3565b5050565b6000806106458585858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610e3592505050565b90506106596033546001600160a01b031690565b6001600160a01b0316816001600160a01b0316036106815750630b135d3f60e11b905061068e565b506001600160e01b031990505b9392505050565b61069d611091565b808381146106e35760405162461bcd60e51b815260206004820152601360248201527277726f6e67206172726179206c656e6774687360681b60448201526064016105ec565b60005b8181101561078a57610778868683818110610703576107036122ef565b90506020020160208101906107189190611e33565b600086868581811061072c5761072c6122ef565b905060200281019061073e9190612305565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061116d92505050565b8061078281612361565b9150506106e6565b505050505050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107da5760405162461bcd60e51b81526004016105ec9061237a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661080c6111dd565b6001600160a01b0316146108325760405162461bcd60e51b81526004016105ec906123c6565b61083b816111f9565b6040805160008082526020820190925261085791839190611201565b50565b6000610864611371565b61086e84846113e9565b905061068e826114a3565b7f000000000000000000000000000000000000000000000000000000000000000060405163b760faf960e01b81523060048201526001600160a01b03919091169063b760faf99034906024016000604051808303818588803b1580156108de57600080fd5b505af11580156108f2573d6000803e3d6000fd5b5050505050565b6109016114f0565b7f000000000000000000000000000000000000000000000000000000000000000060405163040b850f60e31b81526001600160a01b03848116600483015260248201849052919091169063205c287890604401600060405180830381600087803b15801561096e57600080fd5b505af115801561078a573d6000803e3d6000fd5b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036109ca5760405162461bcd60e51b81526004016105ec9061237a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166109fc6111dd565b6001600160a01b031614610a225760405162461bcd60e51b81526004016105ec906123c6565b610a2b826111f9565b6105fe82826001611201565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610ad75760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c000000000000000060648201526084016105ec565b5060008051602061251383398151915290565b610af261157c565b610afc6000610de3565b565b610b0a848484846115d6565b50505050565b6040516370a0823160e01b81523060048201526000906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a08231906024015b602060405180830381865afa158015610b78573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9c9190612412565b905090565b600054610100900460ff1615808015610bc15750600054600160ff909116105b80610bdb5750303b158015610bdb575060005460ff166001145b610c3e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084016105ec565b6000805460ff191660011790558015610c61576000805461ff0019166101001790555b610c6961161f565b610c7161164e565b610c7b6000611675565b610c848261174b565b80156105fe576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050565b604051631aab3f0d60e11b8152306004820152600060248201819052906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906335567e1a90604401610b5b565b610d2b6114f0565b61085781610de3565b600080610d4184846113e9565b159050801561068e576000602085013560401c90507f0000000000000000000000000000000000000000000000000000000000000000604051630bd28e3b60e01b81526001600160c01b03831660048201526001600160a01b039190911690630bd28e3b90602401600060405180830381600087803b158015610dc357600080fd5b505af1158015610dd7573d6000803e3d6000fd5b50505050509392505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60008151604114610e9c5760405162461bcd60e51b815260206004820152603a602482015260008051602061255a83398151915260448201527f3a20696e76616c6964207369676e6174757265206c656e67746800000000000060648201526084016105ec565b600082604081518110610eb157610eb16122ef565b016020015160f81c90506000610ec784826117b7565b90506000610ed68560206117b7565b90506fa2a8918ca85bafe22016d0b997e4df60600160ff1b03811115610f525760405162461bcd60e51b815260206004820152603d602482015260008051602061255a83398151915260448201527f3a20696e76616c6964207369676e6174757265202773272076616c756500000060648201526084016105ec565b8260ff16601b14158015610f6a57508260ff16601c14155b15610fcb5760405162461bcd60e51b815260206004820152603d602482015260008051602061255a83398151915260448201527f3a20696e76616c6964207369676e6174757265202776272076616c756500000060648201526084016105ec565b60408051600081526020810180835288905260ff851691810191909152606081018390526080810182905260019060a0016020604051602081039080840390855afa15801561101e573d6000803e3d6000fd5b5050604051601f1901519450506001600160a01b0384166110885760405162461bcd60e51b8152602060048201526030602482015260008051602061255a83398151915260448201526f1d1024a72b20a624a22fa9a4a3a722a960811b60648201526084016105ec565b50505092915050565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614806110d257506033546001600160a01b031633145b806111055750336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016145b610afc5760405162461bcd60e51b815260206004820152603360248201527f6163636f756e743a206e6f74204f776e6572206f7220456e747279506f696e74604482015272081bdc88151bdad95b915b9d1c9e541bda5b9d606a1b60648201526084016105ec565b600080846001600160a01b03168484604051611189919061244f565b60006040518083038185875af1925050503d80600081146111c6576040519150601f19603f3d011682016040523d82523d6000602084013e6111cb565b606091505b5091509150816108f257805160208201fd5b600080516020612513833981519152546001600160a01b031690565b6108576114f0565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615611239576112348361181d565b505050565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611293575060408051601f3d908101601f1916820190925261129091810190612412565b60015b6112f65760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b60648201526084016105ec565b60008051602061251383398151915281146113655760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b60648201526084016105ec565b506112348383836118b9565b336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610afc5760405162461bcd60e51b815260206004820152601c60248201527f6163636f756e743a206e6f742066726f6d20456e747279506f696e740000000060448201526064016105ec565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000006000908152601c829052603c8120611466611429610140860186612305565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525085939250506118de9050565b6001600160a01b03166114816033546001600160a01b031690565b6001600160a01b0316146114995760019150506104f8565b5060009392505050565b801561085757604051600090339060001990849084818181858888f193505050503d80600081146108f2576040519150601f19603f3d011682016040523d82523d6000602084013e6108f2565b336115036033546001600160a01b031690565b6001600160a01b0316148061151757503033145b610afc5760405162461bcd60e51b815260206004820152603060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526f081bdc881d1a194818dbdb9d1c9858dd60821b60648201526084016105ec565b6033546001600160a01b03163314610afc5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105ec565b6115de611091565b610b0a848484848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061116d92505050565b600054610100900460ff166116465760405162461bcd60e51b81526004016105ec9061246b565b610afc611902565b600054610100900460ff16610afc5760405162461bcd60e51b81526004016105ec9061246b565b600054610100900460ff1661169c5760405162461bcd60e51b81526004016105ec9061246b565b60c960006116a86111dd565b6001600160a01b0316815260208101919091526040016000205460ff16156117125760405162461bcd60e51b815260206004820152601960248201527f4163636f756e743a20616c7265616479206d696772617465640000000000000060448201526064016105ec565b600160c960006117206111dd565b6001600160a01b031681526020810191909152604001600020805460ff191691151591909117905550565b61175481610d23565b806001600160a01b03167f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03167f526ffefac8167421b9048ae3377810715d834479565b0182ea4155f0efa4c38060405160405180910390a350565b60006117c48260206124b6565b835110156118145760405162461bcd60e51b815260206004820181905260248201527f72656164427974657333323a20696e76616c69642064617461206c656e67746860448201526064016105ec565b50016020015190565b6001600160a01b0381163b61188a5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b60648201526084016105ec565b60008051602061251383398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6118c283611932565b6000825111806118cf5750805b1561123457610b0a8383611972565b60008060006118ed8585611997565b915091506118fa816119dc565b509392505050565b600054610100900460ff166119295760405162461bcd60e51b81526004016105ec9061246b565b610afc33610de3565b61193b8161181d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061068e838360405180606001604052806027815260200161253360279139611b26565b60008082516041036119cd5760208301516040840151606085015160001a6119c187828585611b9e565b945094505050506119d5565b506000905060025b9250929050565b60008160048111156119f0576119f06124c9565b036119f85750565b6001816004811115611a0c57611a0c6124c9565b03611a595760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e6174757265000000000000000060448201526064016105ec565b6002816004811115611a6d57611a6d6124c9565b03611aba5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e6774680060448201526064016105ec565b6003816004811115611ace57611ace6124c9565b036108575760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b60648201526084016105ec565b6060600080856001600160a01b031685604051611b43919061244f565b600060405180830381855af49150503d8060008114611b7e576040519150601f19603f3d011682016040523d82523d6000602084013e611b83565b606091505b5091509150611b9486838387611c58565b9695505050505050565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b03831115611bcb5750600090506003611c4f565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611c1f573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116611c4857600060019250925050611c4f565b9150600090505b94509492505050565b60608315611cc7578251600003611cc0576001600160a01b0385163b611cc05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016105ec565b5081611cd1565b611cd18383611cd9565b949350505050565b815115611ce95781518083602001fd5b8060405162461bcd60e51b81526004016105ec91906124df565b6001600160a01b038116811461085757600080fd5b60008083601f840112611d2a57600080fd5b5081356001600160401b03811115611d4157600080fd5b6020830191508360208285010111156119d557600080fd5b60008060008060008060008060c0898b031215611d7557600080fd5b8835611d8081611d03565b97506020890135611d9081611d03565b96506040890135611da081611d03565b95506060890135945060808901356001600160401b0380821115611dc357600080fd5b611dcf8c838d01611d18565b909650945060a08b0135915080821115611de857600080fd5b50611df58b828c01611d18565b999c989b5096995094979396929594505050565b600060208284031215611e1b57600080fd5b81356001600160e01b03198116811461068e57600080fd5b600060208284031215611e4557600080fd5b813561068e81611d03565b600080600080600060808688031215611e6857600080fd5b8535611e7381611d03565b94506020860135611e8381611d03565b93506040860135925060608601356001600160401b03811115611ea557600080fd5b611eb188828901611d18565b969995985093965092949392505050565b600080600060408486031215611ed757600080fd5b8335925060208401356001600160401b03811115611ef457600080fd5b611f0086828701611d18565b9497909650939450505050565b60008083601f840112611f1f57600080fd5b5081356001600160401b03811115611f3657600080fd5b6020830191508360208260051b85010111156119d557600080fd5b60008060008060408587031215611f6757600080fd5b84356001600160401b0380821115611f7e57600080fd5b611f8a88838901611f0d565b90965094506020870135915080821115611fa357600080fd5b50611fb087828801611f0d565b95989497509550505050565b60006101608284031215611fcf57600080fd5b50919050565b600080600060608486031215611fea57600080fd5b83356001600160401b0381111561200057600080fd5b61200c86828701611fbc565b9660208601359650604090950135949350505050565b6000806040838503121561203557600080fd5b823561204081611d03565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561207757600080fd5b823561208281611d03565b915060208301356001600160401b038082111561209e57600080fd5b818501915085601f8301126120b257600080fd5b8135818111156120c4576120c461204e565b604051601f8201601f19908116603f011681019083821181831017156120ec576120ec61204e565b8160405282815288602084870101111561210557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000806000806060858703121561213d57600080fd5b843561214881611d03565b93506020850135925060408501356001600160401b0381111561216a57600080fd5b611fb087828801611d18565b60008060008060008060008060a0898b03121561219257600080fd5b883561219d81611d03565b975060208901356121ad81611d03565b965060408901356001600160401b03808211156121c957600080fd5b6121d58c838d01611f0d565b909850965060608b01359150808211156121ee57600080fd5b6121fa8c838d01611f0d565b909650945060808b0135915080821115611de857600080fd5b60008060008060008060a0878903121561222c57600080fd5b863561223781611d03565b9550602087013561224781611d03565b9450604087013593506060870135925060808701356001600160401b0381111561227057600080fd5b61227c89828a01611d18565b979a9699509497509295939492505050565b600080604083850312156122a157600080fd5b82356001600160401b038111156122b757600080fd5b6122c385828601611fbc565b95602094909401359450505050565b6000602082840312156122e457600080fd5b815161068e81611d03565b634e487b7160e01b600052603260045260246000fd5b6000808335601e1984360301811261231c57600080fd5b8301803591506001600160401b0382111561233657600080fd5b6020019150368190038213156119d557600080fd5b634e487b7160e01b600052601160045260246000fd5b6000600182016123735761237361234b565b5060010190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b60006020828403121561242457600080fd5b5051919050565b60005b8381101561244657818101518382015260200161242e565b50506000910152565b6000825161246181846020870161242b565b9190910192915050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b808201808211156104f8576104f861234b565b634e487b7160e01b600052602160045260246000fd5b60208152600082518060208401526124fe81604085016020870161242b565b601f01601f1916919091016040019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c65645369676e617475726556616c696461746f72237265636f7665725369676e6572a26469706673582212207ffef93baae7ddfe167b5324b2d817e1f1240a560e15a6a1a242c341859ad44e64736f6c63430008140033360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a2646970667358221220f03c1b7bce7b4d6f9e3d761743b2abc871b68403070deaaf8b6a89d3c214b11f64736f6c63430008140033