Contract Address Details

0x657898Ecf8Bc9C06e8724c5A58aEf89Eb2b88555

Creator
0xa1e0df–050fee at 0x8f46bd–46886a
Balance
0 VLX
Tokens
Fetching tokens...
Transactions
55 Transactions
Transfers
0 Transfers
Gas Used
9,305,613
Last Balance Update
69800169

Contract Creation Code

Verify & Publish
0x60806040526127106002556101136003553480156200001d57600080fd5b506040516200320438038062003204833981016040819052620000409162000108565b6200004b336200009b565b6000805460ff60a01b19169055600180546001600160a01b039485166001600160a01b03199182161790915560048054938516938216939093179092556005805491909316911617905562000151565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200010357600080fd5b919050565b6000806000606084860312156200011d578283fd5b6200012884620000eb565b92506200013860208501620000eb565b91506200014860408501620000eb565b90509250925092565b6130a380620001616000396000f3fe60806040526004361061018f5760003560e01c80638da5cb5b116100d6578063e2c851631161007f578063f5537ede11610059578063f5537ede146104c7578063f66d972b146104e7578063fa5408011461050757600080fd5b8063e2c851631461045a578063eb78f95e14610487578063f2fde38b146104a757600080fd5b8063b446f3b2116100b0578063b446f3b214610411578063cd94503d14610431578063da36079e1461044457600080fd5b80638da5cb5b1461039557806397aba7f9146103b3578063a7bb5803146103d357600080fd5b806361b3980d116101385780636b67c4df116101125780636b67c4df1461033c578063715018a614610360578063752d121c1461037557600080fd5b806361b3980d146102dc578063625e764c146102fc57806368b6f0a81461031c57600080fd5b80631b3b8b79116101695780631b3b8b7914610257578063361eaa531461028f5780635c975abb146102b157600080fd5b80630e89ab4c1461019b578063150b7a02146101bd57806319f101fa1461023757600080fd5b3661019657005b600080fd5b3480156101a757600080fd5b506101bb6101b63660046128bd565b610527565b005b3480156101c957600080fd5b506102016101d8366004612778565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024357600080fd5b506101bb6102523660046127e2565b610c37565b34801561026357600080fd5b50600454610277906001600160a01b031681565b6040516001600160a01b03909116815260200161022e565b34801561029b57600080fd5b506102a4610cf3565b60405161022e9190612b4f565b3480156102bd57600080fd5b50600054600160a01b900460ff165b604051901515815260200161022e565b3480156102e857600080fd5b506101bb6102f7366004612700565b610d55565b34801561030857600080fd5b506101bb61031736600461282d565b610dea565b34801561032857600080fd5b506102cc6103373660046128f0565b610e49565b34801561034857600080fd5b5061035260035481565b60405190815260200161022e565b34801561036c57600080fd5b506101bb610f29565b34801561038157600080fd5b5061027761039036600461282d565b610f8f565b3480156103a157600080fd5b506000546001600160a01b0316610277565b3480156103bf57600080fd5b506102776103ce366004612845565b610fb9565b3480156103df57600080fd5b506103f36103ee36600461288a565b611038565b60408051938452602084019290925260ff169082015260600161022e565b34801561041d57600080fd5b5061035261042c36600461288a565b6110ac565b6101bb61043f3660046128f0565b6110dc565b34801561045057600080fd5b5061035260025481565b34801561046657600080fd5b5061047a61047536600461282d565b6116fc565b60405161022e9190612b9c565b34801561049357600080fd5b50600554610277906001600160a01b031681565b3480156104b357600080fd5b506101bb6104c23660046126c8565b6117a8565b3480156104d357600080fd5b506101bb6104e2366004612738565b61188a565b3480156104f357600080fd5b50600154610277906001600160a01b031681565b34801561051357600080fd5b5061035261052236600461282d565b611b8b565b610535816101400151611bc6565b156105875760405162461bcd60e51b815260206004820152601f60248201527f54686973206f7264657220697320636f6d706c6574656420616c72656164790060448201526064015b60405180910390fd5b33158015906105965750333014155b6105e25760405162461bcd60e51b815260206004820152601060248201527f57726f6e67206d73672073656e64657200000000000000000000000000000000604482015260640161057e565b80602001516001600160a01b031681600001516001600160a01b0316141561064c5760405162461bcd60e51b815260206004820152600c60248201527f57726f6e672053656c6c65720000000000000000000000000000000000000000604482015260640161057e565b80516001600160a01b031633146106a55760405162461bcd60e51b815260206004820152600c60248201527f57726f6e672053656c6c65720000000000000000000000000000000000000000604482015260640161057e565b80604001516001600160a01b0316336001600160a01b03161461070a5760405162461bcd60e51b815260206004820152600b60248201527f57726f6e67204d616b6572000000000000000000000000000000000000000000604482015260640161057e565b606081015160c08201516040517f6352211e0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691636352211e9161075c9160040190815260200190565b60206040518083038186803b15801561077457600080fd5b505afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac91906126e4565b6001600160a01b0316336001600160a01b03161461080c5760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920546f6b656e204f776e65722063616e2073656c6c20746f6b656e00604482015260640161057e565b60008160e00151116108605760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e203000000000604482015260640161057e565b4281610100015110156108b55760405162461bcd60e51b815260206004820152600d60248201527f45787069726564204f7264657200000000000000000000000000000000000000604482015260640161057e565b6108c28160600151611c75565b61090e5760405162461bcd60e51b815260206004820152601860248201527f436f6c6c656374696f6e20646f65736e27742065786973740000000000000000604482015260640161057e565b600061093560025461092f6003548560e00151611ce590919063ffffffff16565b90611cf8565b6002546060840151604080518082018252600080825260209182018190526001600160a01b039384168152600882528281208351808501909452549384168352600160a01b90930462ffffff1690820152929350916109a7919061092f906020015160e08701519062ffffff16611ce5565b905060006109c36109b88484611d04565b60e086015190611d10565b602085015160a08601516001549293506109e8926001600160a01b0316919085611d1c565b6020840151600154610a07916001600160a01b03909116903384611d1c565b6020840151600454610a3c91906001600160a01b0316610a28600287612cee565b6001546001600160a01b0316929190611d1c565b6020840151600554610a5d91906001600160a01b0316610a28600287612cee565b6060840151602085015160c0860151604051632142170760e11b81523360048201526001600160a01b03928316602482015260448101919091529116906342842e0e90606401600060405180830381600087803b158015610abd57600080fd5b505af1925050508015610ace575060015b610bd457610ada612fa5565b806308c379a01415610b425750610aef612fbd565b80610afa5750610b5c565b60405162461bcd60e51b815260206004820152601b60248201527f54686973206f72646572206973206e6f7420636f6d706c657465640000000000604482015260640161057e565b634e487b711415610b5c57610b55613065565b90610afa57505b3d808015610b86576040519150601f19603f3d011682016040523d82523d6000602084013e610b8b565b606091505b5060405162461bcd60e51b815260206004820152601b60248201527f54686973206f72646572206973206e6f7420636f6d706c657465640000000000604482015260640161057e565b610be2846101400151611daa565b83602001516001600160a01b0316336001600160a01b03167fb807405212f2d57a0659af046a9e521b2cda5b6349e7b47ab2dd3decd5a5251986604051610c299190612baf565b60405180910390a350505050565b610c4082611c75565b15610c8d5760405162461bcd60e51b815260206004820152601060248201527f436f6c6c656374696f6e20657869737400000000000000000000000000000000604482015260640161057e565b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055610cef8282611ded565b5050565b60606006805480602002602001604051908101604052809291908181526020018280548015610d4b57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d2d575b5050505050905090565b6000546001600160a01b03163314610daf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b600480546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560058054929093169116179055565b6000546001600160a01b03163314610e445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b600355565b600080610e5a846101200151611eb1565b846101400151610e6e866101000151611eb1565b610e7b876060015161200a565b610e888860e00151611eb1565b610e958960c00151611eb1565b610ea28a60a0015161200a565b8a51610ead9061200a565b610eba8c6080015161200a565b604051602001610ed29998979695949392919061298f565b60405160208183030381529060405290506000610eee826110ac565b90506000610efb82611b8b565b86519091506001600160a01b0316610f138287610fb9565b6001600160a01b03161493505050505b92915050565b6000546001600160a01b03163314610f835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b610f8d60006121bf565b565b60068181548110610f9f57600080fd5b6000918252602090912001546001600160a01b0316905081565b600080600080610fc885611038565b6040805160008152602081018083528b905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015611023573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000806000835160411461108e5760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161057e565b50505060208101516040820151606090920151909260009190911a90565b6000816040516020016110bf9190612973565b604051602081830303815290604052805190602001209050919050565b6110ea826101400151611bc6565b156111375760405162461bcd60e51b815260206004820152601f60248201527f54686973206f7264657220697320636f6d706c6574656420616c726561647900604482015260640161057e565b6111418282610e49565b61118d5760405162461bcd60e51b815260206004820152601360248201527f4661696c656420566572696669636174696f6e00000000000000000000000000604482015260640161057e565b331580159061119c5750333014155b6111e85760405162461bcd60e51b815260206004820152601060248201527f57726f6e67206d73672073656e64657200000000000000000000000000000000604482015260640161057e565b81602001516001600160a01b031682600001516001600160a01b031614156112525760405162461bcd60e51b815260206004820152601260248201527f53656c6c65722063616e206e6f74206275790000000000000000000000000000604482015260640161057e565b81602001516001600160a01b0316336001600160a01b0316146112b75760405162461bcd60e51b815260206004820152600b60248201527f57726f6e67204275796572000000000000000000000000000000000000000000604482015260640161057e565b81604001516001600160a01b0316336001600160a01b03161461131c5760405162461bcd60e51b815260206004820152600b60248201527f57726f6e67204d616b6572000000000000000000000000000000000000000000604482015260640161057e565b60008260e0015111801561133457508160e001513410155b6113805760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e203000000000604482015260640161057e565b4282610100015110156113d55760405162461bcd60e51b815260206004820152600d60248201527f45787069726564204f7264657200000000000000000000000000000000000000604482015260640161057e565b6113e28260600151611c75565b61142e5760405162461bcd60e51b815260206004820152601860248201527f436f6c6c656374696f6e20646f65736e27742065786973740000000000000000604482015260640161057e565b600061144f60025461092f6003548660e00151611ce590919063ffffffff16565b6002546060850151604080518082018252600080825260209182018190526001600160a01b039384168152600882528281208351808501909452549384168352600160a01b90930462ffffff1690820152929350916114c1919061092f906020015160e08801519062ffffff16611ce5565b905060006114dd6114d28484611d04565b60e087015190611d10565b60a08601516040519192506001600160a01b03169083156108fc029084906000818181858888f1935050505015801561151a573d6000803e3d6000fd5b5084516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611554573d6000803e3d6000fd5b506004546001600160a01b03166108fc61156f600286612cee565b6040518115909202916000818181858888f19350505050158015611597573d6000803e3d6000fd5b506005546001600160a01b03166108fc6115b2600286612cee565b6040518115909202916000818181858888f193505050501580156115da573d6000803e3d6000fd5b508460e001513411156116275760e085015133906108fc906115fd903490611d10565b6040518115909202916000818181858888f19350505050158015611625573d6000803e3d6000fd5b505b6060850151855160c0870151604051632142170760e11b81526001600160a01b03928316600482015233602482015260448101919091529116906342842e0e90606401600060405180830381600087803b15801561168457600080fd5b505af1925050508015611695575060015b6116a157610ada612fa5565b6116af856101400151611daa565b845160405133916001600160a01b0316907ff66a2d3d52db137a0ebfbe9aaf856bc6369f9bc14e5645d2cacdcd06957fdfda906116ed908990612baf565b60405180910390a35050505050565b6007818154811061170c57600080fd5b90600052602060002001600091509050805461172790612ecc565b80601f016020809104026020016040519081016040528092919081815260200182805461175390612ecc565b80156117a05780601f10611775576101008083540402835291602001916117a0565b820191906000526020600020905b81548152906001019060200180831161178357829003601f168201915b505050505081565b6000546001600160a01b031633146118025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b6001600160a01b03811661187e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161057e565b611887816121bf565b50565b33158015906118a25750336001600160a01b03831614155b6118ee5760405162461bcd60e51b815260206004820152601060248201527f57726f6e67206d73672073656e64657200000000000000000000000000000000604482015260640161057e565b6001600160a01b0382161580159061190f57506001600160a01b0382163014155b61195b5760405162461bcd60e51b815260206004820152600e60248201527f57726f6e67207265636569766572000000000000000000000000000000000000604482015260640161057e565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b03841690636352211e9060240160206040518083038186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ec91906126e4565b6001600160a01b0316336001600160a01b031614611a725760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920546f6b656e204f776e65722063616e207472616e7366657220746f60448201527f6b656e0000000000000000000000000000000000000000000000000000000000606482015260840161057e565b611a7b83611c75565b611ac75760405162461bcd60e51b815260206004820152601860248201527f436f6c6c656374696f6e20646f65736e27742065786973740000000000000000604482015260640161057e565b604051632142170760e11b81523360048201526001600160a01b038381166024830152604482018390528416906342842e0e90606401600060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b50505050826001600160a01b0316826001600160a01b0316336001600160a01b03167fd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f84604051611b7e91815260200190565b60405180910390a4505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016110bf565b600080805b600754811015611c6e5783604051602001611be69190612973565b6040516020818303038152906040528051906020012060078281548110611c1d57634e487b7160e01b600052603260045260246000fd5b90600052602060002001604051602001611c379190612a51565b604051602081830303815290604052805190602001201415611c5c5760019150611c6e565b80611c6681612f34565b915050611bcb565b5092915050565b600080805b600654811015611c6e57836001600160a01b031660068281548110611caf57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415611cd35760019150611c6e565b80611cdd81612f34565b915050611c7a565b6000611cf18284612e0f565b9392505050565b6000611cf18284612cee565b6000611cf18284612cb1565b6000611cf18284612e4f565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611da490859061221c565b50505050565b600780546001810182556000919091528151610cef917fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688019060208401906124d9565b612710811115611e3f5760405162461bcd60e51b815260206004820152601360248201527f526f79616c747920697320546f6f206869676800000000000000000000000000604482015260640161057e565b6040805180820182526001600160a01b0393841680825262ffffff9384166020808401918252600092835260089052929020905181549251909316600160a01b027fffffffffffffffffff00000000000000000000000000000000000000000000009092169290931691909117179055565b606081611ef157505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611f1b5780611f0581612f34565b9150611f149050600a83612cee565b9150611ef5565b60008167ffffffffffffffff811115611f4457634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611f6e576020820181803683370190505b508593509050815b831561200157611f87600a85612f4f565b611f92906030612cb1565b60f81b82611f9f83612eb5565b92508281518110611fc057634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611ffa600a85612cee565b9350611f76565b50949350505050565b60408051602880825260608281019093526000919060208201818036833701905050905060005b6014811015612196576000612047826013612e4f565b612052906008612e0f565b61205d906002612d67565b612070906001600160a01b038716612cee565b60f81b9050600060108260f81c6120879190612d02565b60f81b905060008160f81c601061209e9190612e2e565b8360f81c6120ac9190612e66565b60f81b90506120ba82612306565b856120c6866002612e0f565b815181106120e457634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061211c81612306565b85612128866002612e0f565b612133906001612cb1565b8151811061215157634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050808061218e90612f34565b915050612031565b50806040516020016121a89190612b0a565b604051602081830303815290604052915050919050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000612271826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123419092919063ffffffff16565b805190915015612301578080602001905181019061228f919061280d565b6123015760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161057e565b505050565b6000600a60f883901c101561232d5761232460f883901c6030612cc9565b60f81b92915050565b61232460f883901c6057612cc9565b919050565b60606123508484600085612358565b949350505050565b6060824710156123d05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161057e565b6001600160a01b0385163b6124275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161057e565b600080866001600160a01b031685876040516124439190612973565b60006040518083038185875af1925050503d8060008114612480576040519150601f19603f3d011682016040523d82523d6000602084013e612485565b606091505b50915091506124958282866124a0565b979650505050505050565b606083156124af575081611cf1565b8251156124bf5782518084602001fd5b8160405162461bcd60e51b815260040161057e9190612b9c565b8280546124e590612ecc565b90600052602060002090601f016020900481019282612507576000855561254d565b82601f1061252057805160ff191683800117855561254d565b8280016001018555821561254d579182015b8281111561254d578251825591602001919060010190612532565b5061255992915061255d565b5090565b5b80821115612559576000815560010161255e565b803561233c81613081565b600082601f83011261258d578081fd5b813567ffffffffffffffff8111156125a7576125a7612f8f565b6040516125be6020601f19601f8501160182612f07565b8181528460208386010111156125d2578283fd5b816020850160208301379081016020019190915292915050565b600061016082840312156125fe578081fd5b612606612c87565b905061261182612572565b815261261f60208301612572565b602082015261263060408301612572565b604082015261264160608301612572565b606082015261265260808301612572565b608082015261266360a08301612572565b60a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff8111156126b057600080fd5b6126bc8582860161257d565b82840152505092915050565b6000602082840312156126d9578081fd5b8135611cf181613081565b6000602082840312156126f5578081fd5b8151611cf181613081565b60008060408385031215612712578081fd5b823561271d81613081565b9150602083013561272d81613081565b809150509250929050565b60008060006060848603121561274c578081fd5b833561275781613081565b9250602084013561276781613081565b929592945050506040919091013590565b6000806000806080858703121561278d578081fd5b843561279881613081565b935060208501356127a881613081565b925060408501359150606085013567ffffffffffffffff8111156127ca578182fd5b6127d68782880161257d565b91505092959194509250565b600080604083850312156127f4578182fd5b82356127ff81613081565b946020939093013593505050565b60006020828403121561281e578081fd5b81518015158114611cf1578182fd5b60006020828403121561283e578081fd5b5035919050565b60008060408385031215612857578182fd5b82359150602083013567ffffffffffffffff811115612874578182fd5b6128808582860161257d565b9150509250929050565b60006020828403121561289b578081fd5b813567ffffffffffffffff8111156128b1578182fd5b6123508482850161257d565b6000602082840312156128ce578081fd5b813567ffffffffffffffff8111156128e4578182fd5b612350848285016125ec565b60008060408385031215612902578182fd5b823567ffffffffffffffff80821115612919578384fd5b612925868387016125ec565b9350602085013591508082111561293a578283fd5b506128808582860161257d565b6000815180845261295f816020860160208601612e89565b601f01601f19169290920160200192915050565b60008251612985818460208701612e89565b9190910192915050565b60008a516129a1818460208f01612e89565b8a51908301906129b5818360208f01612e89565b8a516129c78183850160208f01612e89565b8a519290910101906129dd818360208d01612e89565b88516129ef8183850160208d01612e89565b8851929091010190612a05818360208b01612e89565b8651612a178183850160208b01612e89565b8651929091010190612a2d818360208901612e89565b8451612a3f8183850160208901612e89565b9101019b9a5050505050505050505050565b600080835482600182811c915080831680612a6d57607f831692505b6020808410821415612a8d57634e487b7160e01b87526022600452602487fd5b818015612aa15760018114612ad057612afc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00861689528489019650612afc565b60008a815260209020885b86811015612af45781548b820152908501908301612adb565b505084890196505b509498975050505050505050565b7f3078000000000000000000000000000000000000000000000000000000000000815260008251612b42816002850160208701612e89565b9190910160020192915050565b6020808252825182820181905260009190848201906040850190845b81811015612b905783516001600160a01b031683529284019291840191600101612b6b565b50909695505050505050565b602081526000611cf16020830184612947565b60208152612bc96020820183516001600160a01b03169052565b60006020830151612be560408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e08381019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015161016080840152612350610180840182612947565b604051610160810167ffffffffffffffff81118282101715612cab57612cab612f8f565b60405290565b60008219821115612cc457612cc4612f63565b500190565b600060ff821660ff84168060ff03821115612ce657612ce6612f63565b019392505050565b600082612cfd57612cfd612f79565b500490565b600060ff831680612d1557612d15612f79565b8060ff84160491505092915050565b600181815b80851115612d5f578160001904821115612d4557612d45612f63565b80851615612d5257918102915b93841c9390800290612d29565b509250929050565b6000611cf18383600082612d7d57506001610f23565b81612d8a57506000610f23565b8160018114612da05760028114612daa57612dc6565b6001915050610f23565b60ff841115612dbb57612dbb612f63565b50506001821b610f23565b5060208310610133831016604e8410600b8410161715612de9575081810a610f23565b612df38383612d24565b8060001904821115612e0757612e07612f63565b029392505050565b6000816000190483118215151615612e2957612e29612f63565b500290565b600060ff821660ff84168160ff0481118215151615612e0757612e07612f63565b600082821015612e6157612e61612f63565b500390565b600060ff821660ff841680821015612e8057612e80612f63565b90039392505050565b60005b83811015612ea4578181015183820152602001612e8c565b83811115611da45750506000910152565b600081612ec457612ec4612f63565b506000190190565b600181811c90821680612ee057607f821691505b60208210811415612f0157634e487b7160e01b600052602260045260246000fd5b50919050565b601f19601f830116810181811067ffffffffffffffff82111715612f2d57612f2d612f8f565b6040525050565b6000600019821415612f4857612f48612f63565b5060010190565b600082612f5e57612f5e612f79565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115612fba57600481823e5160e01c5b90565b600060443d1015612fcb5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561301957505050505090565b82850191508151818111156130315750505050505090565b843d870101602082850101111561304b5750505050505090565b61305a60208286010187612f07565b509095945050505050565b60008060233d111561307d5760206004833e51600191505b9091565b6001600160a01b038116811461188757600080fdfea164736f6c6343000804000a000000000000000000000000c579d1f3cf86749e05cd06f7ade17856c2ce31260000000000000000000000001206a2691cc2225f3b7f4b68d34a74ea72fa9773000000000000000000000000743bf169696a5d8075184f0a71bf644b57fb447f

Deployed ByteCode

0x60806040526004361061018f5760003560e01c80638da5cb5b116100d6578063e2c851631161007f578063f5537ede11610059578063f5537ede146104c7578063f66d972b146104e7578063fa5408011461050757600080fd5b8063e2c851631461045a578063eb78f95e14610487578063f2fde38b146104a757600080fd5b8063b446f3b2116100b0578063b446f3b214610411578063cd94503d14610431578063da36079e1461044457600080fd5b80638da5cb5b1461039557806397aba7f9146103b3578063a7bb5803146103d357600080fd5b806361b3980d116101385780636b67c4df116101125780636b67c4df1461033c578063715018a614610360578063752d121c1461037557600080fd5b806361b3980d146102dc578063625e764c146102fc57806368b6f0a81461031c57600080fd5b80631b3b8b79116101695780631b3b8b7914610257578063361eaa531461028f5780635c975abb146102b157600080fd5b80630e89ab4c1461019b578063150b7a02146101bd57806319f101fa1461023757600080fd5b3661019657005b600080fd5b3480156101a757600080fd5b506101bb6101b63660046128bd565b610527565b005b3480156101c957600080fd5b506102016101d8366004612778565b7f150b7a0200000000000000000000000000000000000000000000000000000000949350505050565b6040517fffffffff0000000000000000000000000000000000000000000000000000000090911681526020015b60405180910390f35b34801561024357600080fd5b506101bb6102523660046127e2565b610c37565b34801561026357600080fd5b50600454610277906001600160a01b031681565b6040516001600160a01b03909116815260200161022e565b34801561029b57600080fd5b506102a4610cf3565b60405161022e9190612b4f565b3480156102bd57600080fd5b50600054600160a01b900460ff165b604051901515815260200161022e565b3480156102e857600080fd5b506101bb6102f7366004612700565b610d55565b34801561030857600080fd5b506101bb61031736600461282d565b610dea565b34801561032857600080fd5b506102cc6103373660046128f0565b610e49565b34801561034857600080fd5b5061035260035481565b60405190815260200161022e565b34801561036c57600080fd5b506101bb610f29565b34801561038157600080fd5b5061027761039036600461282d565b610f8f565b3480156103a157600080fd5b506000546001600160a01b0316610277565b3480156103bf57600080fd5b506102776103ce366004612845565b610fb9565b3480156103df57600080fd5b506103f36103ee36600461288a565b611038565b60408051938452602084019290925260ff169082015260600161022e565b34801561041d57600080fd5b5061035261042c36600461288a565b6110ac565b6101bb61043f3660046128f0565b6110dc565b34801561045057600080fd5b5061035260025481565b34801561046657600080fd5b5061047a61047536600461282d565b6116fc565b60405161022e9190612b9c565b34801561049357600080fd5b50600554610277906001600160a01b031681565b3480156104b357600080fd5b506101bb6104c23660046126c8565b6117a8565b3480156104d357600080fd5b506101bb6104e2366004612738565b61188a565b3480156104f357600080fd5b50600154610277906001600160a01b031681565b34801561051357600080fd5b5061035261052236600461282d565b611b8b565b610535816101400151611bc6565b156105875760405162461bcd60e51b815260206004820152601f60248201527f54686973206f7264657220697320636f6d706c6574656420616c72656164790060448201526064015b60405180910390fd5b33158015906105965750333014155b6105e25760405162461bcd60e51b815260206004820152601060248201527f57726f6e67206d73672073656e64657200000000000000000000000000000000604482015260640161057e565b80602001516001600160a01b031681600001516001600160a01b0316141561064c5760405162461bcd60e51b815260206004820152600c60248201527f57726f6e672053656c6c65720000000000000000000000000000000000000000604482015260640161057e565b80516001600160a01b031633146106a55760405162461bcd60e51b815260206004820152600c60248201527f57726f6e672053656c6c65720000000000000000000000000000000000000000604482015260640161057e565b80604001516001600160a01b0316336001600160a01b03161461070a5760405162461bcd60e51b815260206004820152600b60248201527f57726f6e67204d616b6572000000000000000000000000000000000000000000604482015260640161057e565b606081015160c08201516040517f6352211e0000000000000000000000000000000000000000000000000000000081526001600160a01b0390921691636352211e9161075c9160040190815260200190565b60206040518083038186803b15801561077457600080fd5b505afa158015610788573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ac91906126e4565b6001600160a01b0316336001600160a01b03161461080c5760405162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920546f6b656e204f776e65722063616e2073656c6c20746f6b656e00604482015260640161057e565b60008160e00151116108605760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e203000000000604482015260640161057e565b4281610100015110156108b55760405162461bcd60e51b815260206004820152600d60248201527f45787069726564204f7264657200000000000000000000000000000000000000604482015260640161057e565b6108c28160600151611c75565b61090e5760405162461bcd60e51b815260206004820152601860248201527f436f6c6c656374696f6e20646f65736e27742065786973740000000000000000604482015260640161057e565b600061093560025461092f6003548560e00151611ce590919063ffffffff16565b90611cf8565b6002546060840151604080518082018252600080825260209182018190526001600160a01b039384168152600882528281208351808501909452549384168352600160a01b90930462ffffff1690820152929350916109a7919061092f906020015160e08701519062ffffff16611ce5565b905060006109c36109b88484611d04565b60e086015190611d10565b602085015160a08601516001549293506109e8926001600160a01b0316919085611d1c565b6020840151600154610a07916001600160a01b03909116903384611d1c565b6020840151600454610a3c91906001600160a01b0316610a28600287612cee565b6001546001600160a01b0316929190611d1c565b6020840151600554610a5d91906001600160a01b0316610a28600287612cee565b6060840151602085015160c0860151604051632142170760e11b81523360048201526001600160a01b03928316602482015260448101919091529116906342842e0e90606401600060405180830381600087803b158015610abd57600080fd5b505af1925050508015610ace575060015b610bd457610ada612fa5565b806308c379a01415610b425750610aef612fbd565b80610afa5750610b5c565b60405162461bcd60e51b815260206004820152601b60248201527f54686973206f72646572206973206e6f7420636f6d706c657465640000000000604482015260640161057e565b634e487b711415610b5c57610b55613065565b90610afa57505b3d808015610b86576040519150601f19603f3d011682016040523d82523d6000602084013e610b8b565b606091505b5060405162461bcd60e51b815260206004820152601b60248201527f54686973206f72646572206973206e6f7420636f6d706c657465640000000000604482015260640161057e565b610be2846101400151611daa565b83602001516001600160a01b0316336001600160a01b03167fb807405212f2d57a0659af046a9e521b2cda5b6349e7b47ab2dd3decd5a5251986604051610c299190612baf565b60405180910390a350505050565b610c4082611c75565b15610c8d5760405162461bcd60e51b815260206004820152601060248201527f436f6c6c656374696f6e20657869737400000000000000000000000000000000604482015260640161057e565b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f01805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b038416179055610cef8282611ded565b5050565b60606006805480602002602001604051908101604052809291908181526020018280548015610d4b57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d2d575b5050505050905090565b6000546001600160a01b03163314610daf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b600480546001600160a01b0393841673ffffffffffffffffffffffffffffffffffffffff199182161790915560058054929093169116179055565b6000546001600160a01b03163314610e445760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b600355565b600080610e5a846101200151611eb1565b846101400151610e6e866101000151611eb1565b610e7b876060015161200a565b610e888860e00151611eb1565b610e958960c00151611eb1565b610ea28a60a0015161200a565b8a51610ead9061200a565b610eba8c6080015161200a565b604051602001610ed29998979695949392919061298f565b60405160208183030381529060405290506000610eee826110ac565b90506000610efb82611b8b565b86519091506001600160a01b0316610f138287610fb9565b6001600160a01b03161493505050505b92915050565b6000546001600160a01b03163314610f835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b610f8d60006121bf565b565b60068181548110610f9f57600080fd5b6000918252602090912001546001600160a01b0316905081565b600080600080610fc885611038565b6040805160008152602081018083528b905260ff8316918101919091526060810184905260808101839052929550909350915060019060a0016020604051602081039080840390855afa158015611023573d6000803e3d6000fd5b5050604051601f190151979650505050505050565b6000806000835160411461108e5760405162461bcd60e51b815260206004820152601860248201527f696e76616c6964207369676e6174757265206c656e6774680000000000000000604482015260640161057e565b50505060208101516040820151606090920151909260009190911a90565b6000816040516020016110bf9190612973565b604051602081830303815290604052805190602001209050919050565b6110ea826101400151611bc6565b156111375760405162461bcd60e51b815260206004820152601f60248201527f54686973206f7264657220697320636f6d706c6574656420616c726561647900604482015260640161057e565b6111418282610e49565b61118d5760405162461bcd60e51b815260206004820152601360248201527f4661696c656420566572696669636174696f6e00000000000000000000000000604482015260640161057e565b331580159061119c5750333014155b6111e85760405162461bcd60e51b815260206004820152601060248201527f57726f6e67206d73672073656e64657200000000000000000000000000000000604482015260640161057e565b81602001516001600160a01b031682600001516001600160a01b031614156112525760405162461bcd60e51b815260206004820152601260248201527f53656c6c65722063616e206e6f74206275790000000000000000000000000000604482015260640161057e565b81602001516001600160a01b0316336001600160a01b0316146112b75760405162461bcd60e51b815260206004820152600b60248201527f57726f6e67204275796572000000000000000000000000000000000000000000604482015260640161057e565b81604001516001600160a01b0316336001600160a01b03161461131c5760405162461bcd60e51b815260206004820152600b60248201527f57726f6e67204d616b6572000000000000000000000000000000000000000000604482015260640161057e565b60008260e0015111801561133457508160e001513410155b6113805760405162461bcd60e51b815260206004820152601c60248201527f5072696365206d7573742062652067726561746572207468616e203000000000604482015260640161057e565b4282610100015110156113d55760405162461bcd60e51b815260206004820152600d60248201527f45787069726564204f7264657200000000000000000000000000000000000000604482015260640161057e565b6113e28260600151611c75565b61142e5760405162461bcd60e51b815260206004820152601860248201527f436f6c6c656374696f6e20646f65736e27742065786973740000000000000000604482015260640161057e565b600061144f60025461092f6003548660e00151611ce590919063ffffffff16565b6002546060850151604080518082018252600080825260209182018190526001600160a01b039384168152600882528281208351808501909452549384168352600160a01b90930462ffffff1690820152929350916114c1919061092f906020015160e08801519062ffffff16611ce5565b905060006114dd6114d28484611d04565b60e087015190611d10565b60a08601516040519192506001600160a01b03169083156108fc029084906000818181858888f1935050505015801561151a573d6000803e3d6000fd5b5084516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611554573d6000803e3d6000fd5b506004546001600160a01b03166108fc61156f600286612cee565b6040518115909202916000818181858888f19350505050158015611597573d6000803e3d6000fd5b506005546001600160a01b03166108fc6115b2600286612cee565b6040518115909202916000818181858888f193505050501580156115da573d6000803e3d6000fd5b508460e001513411156116275760e085015133906108fc906115fd903490611d10565b6040518115909202916000818181858888f19350505050158015611625573d6000803e3d6000fd5b505b6060850151855160c0870151604051632142170760e11b81526001600160a01b03928316600482015233602482015260448101919091529116906342842e0e90606401600060405180830381600087803b15801561168457600080fd5b505af1925050508015611695575060015b6116a157610ada612fa5565b6116af856101400151611daa565b845160405133916001600160a01b0316907ff66a2d3d52db137a0ebfbe9aaf856bc6369f9bc14e5645d2cacdcd06957fdfda906116ed908990612baf565b60405180910390a35050505050565b6007818154811061170c57600080fd5b90600052602060002001600091509050805461172790612ecc565b80601f016020809104026020016040519081016040528092919081815260200182805461175390612ecc565b80156117a05780601f10611775576101008083540402835291602001916117a0565b820191906000526020600020905b81548152906001019060200180831161178357829003601f168201915b505050505081565b6000546001600160a01b031633146118025760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161057e565b6001600160a01b03811661187e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161057e565b611887816121bf565b50565b33158015906118a25750336001600160a01b03831614155b6118ee5760405162461bcd60e51b815260206004820152601060248201527f57726f6e67206d73672073656e64657200000000000000000000000000000000604482015260640161057e565b6001600160a01b0382161580159061190f57506001600160a01b0382163014155b61195b5760405162461bcd60e51b815260206004820152600e60248201527f57726f6e67207265636569766572000000000000000000000000000000000000604482015260640161057e565b6040517f6352211e000000000000000000000000000000000000000000000000000000008152600481018290526001600160a01b03841690636352211e9060240160206040518083038186803b1580156119b457600080fd5b505afa1580156119c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ec91906126e4565b6001600160a01b0316336001600160a01b031614611a725760405162461bcd60e51b815260206004820152602360248201527f4f6e6c7920546f6b656e204f776e65722063616e207472616e7366657220746f60448201527f6b656e0000000000000000000000000000000000000000000000000000000000606482015260840161057e565b611a7b83611c75565b611ac75760405162461bcd60e51b815260206004820152601860248201527f436f6c6c656374696f6e20646f65736e27742065786973740000000000000000604482015260640161057e565b604051632142170760e11b81523360048201526001600160a01b038381166024830152604482018390528416906342842e0e90606401600060405180830381600087803b158015611b1757600080fd5b505af1158015611b2b573d6000803e3d6000fd5b50505050826001600160a01b0316826001600160a01b0316336001600160a01b03167fd1398bee19313d6bf672ccb116e51f4a1a947e91c757907f51fbb5b5e56c698f84604051611b7e91815260200190565b60405180910390a4505050565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c016110bf565b600080805b600754811015611c6e5783604051602001611be69190612973565b6040516020818303038152906040528051906020012060078281548110611c1d57634e487b7160e01b600052603260045260246000fd5b90600052602060002001604051602001611c379190612a51565b604051602081830303815290604052805190602001201415611c5c5760019150611c6e565b80611c6681612f34565b915050611bcb565b5092915050565b600080805b600654811015611c6e57836001600160a01b031660068281548110611caf57634e487b7160e01b600052603260045260246000fd5b6000918252602090912001546001600160a01b03161415611cd35760019150611c6e565b80611cdd81612f34565b915050611c7a565b6000611cf18284612e0f565b9392505050565b6000611cf18284612cee565b6000611cf18284612cb1565b6000611cf18284612e4f565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd00000000000000000000000000000000000000000000000000000000179052611da490859061221c565b50505050565b600780546001810182556000919091528151610cef917fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688019060208401906124d9565b612710811115611e3f5760405162461bcd60e51b815260206004820152601360248201527f526f79616c747920697320546f6f206869676800000000000000000000000000604482015260640161057e565b6040805180820182526001600160a01b0393841680825262ffffff9384166020808401918252600092835260089052929020905181549251909316600160a01b027fffffffffffffffffff00000000000000000000000000000000000000000000009092169290931691909117179055565b606081611ef157505060408051808201909152600181527f3000000000000000000000000000000000000000000000000000000000000000602082015290565b8160005b8115611f1b5780611f0581612f34565b9150611f149050600a83612cee565b9150611ef5565b60008167ffffffffffffffff811115611f4457634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611f6e576020820181803683370190505b508593509050815b831561200157611f87600a85612f4f565b611f92906030612cb1565b60f81b82611f9f83612eb5565b92508281518110611fc057634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350611ffa600a85612cee565b9350611f76565b50949350505050565b60408051602880825260608281019093526000919060208201818036833701905050905060005b6014811015612196576000612047826013612e4f565b612052906008612e0f565b61205d906002612d67565b612070906001600160a01b038716612cee565b60f81b9050600060108260f81c6120879190612d02565b60f81b905060008160f81c601061209e9190612e2e565b8360f81c6120ac9190612e66565b60f81b90506120ba82612306565b856120c6866002612e0f565b815181106120e457634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061211c81612306565b85612128866002612e0f565b612133906001612cb1565b8151811061215157634e487b7160e01b600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350505050808061218e90612f34565b915050612031565b50806040516020016121a89190612b0a565b604051602081830303815290604052915050919050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000612271826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166123419092919063ffffffff16565b805190915015612301578080602001905181019061228f919061280d565b6123015760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161057e565b505050565b6000600a60f883901c101561232d5761232460f883901c6030612cc9565b60f81b92915050565b61232460f883901c6057612cc9565b919050565b60606123508484600085612358565b949350505050565b6060824710156123d05760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161057e565b6001600160a01b0385163b6124275760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161057e565b600080866001600160a01b031685876040516124439190612973565b60006040518083038185875af1925050503d8060008114612480576040519150601f19603f3d011682016040523d82523d6000602084013e612485565b606091505b50915091506124958282866124a0565b979650505050505050565b606083156124af575081611cf1565b8251156124bf5782518084602001fd5b8160405162461bcd60e51b815260040161057e9190612b9c565b8280546124e590612ecc565b90600052602060002090601f016020900481019282612507576000855561254d565b82601f1061252057805160ff191683800117855561254d565b8280016001018555821561254d579182015b8281111561254d578251825591602001919060010190612532565b5061255992915061255d565b5090565b5b80821115612559576000815560010161255e565b803561233c81613081565b600082601f83011261258d578081fd5b813567ffffffffffffffff8111156125a7576125a7612f8f565b6040516125be6020601f19601f8501160182612f07565b8181528460208386010111156125d2578283fd5b816020850160208301379081016020019190915292915050565b600061016082840312156125fe578081fd5b612606612c87565b905061261182612572565b815261261f60208301612572565b602082015261263060408301612572565b604082015261264160608301612572565b606082015261265260808301612572565b608082015261266360a08301612572565b60a082015260c082013560c082015260e082013560e08201526101008083013581830152506101208083013581830152506101408083013567ffffffffffffffff8111156126b057600080fd5b6126bc8582860161257d565b82840152505092915050565b6000602082840312156126d9578081fd5b8135611cf181613081565b6000602082840312156126f5578081fd5b8151611cf181613081565b60008060408385031215612712578081fd5b823561271d81613081565b9150602083013561272d81613081565b809150509250929050565b60008060006060848603121561274c578081fd5b833561275781613081565b9250602084013561276781613081565b929592945050506040919091013590565b6000806000806080858703121561278d578081fd5b843561279881613081565b935060208501356127a881613081565b925060408501359150606085013567ffffffffffffffff8111156127ca578182fd5b6127d68782880161257d565b91505092959194509250565b600080604083850312156127f4578182fd5b82356127ff81613081565b946020939093013593505050565b60006020828403121561281e578081fd5b81518015158114611cf1578182fd5b60006020828403121561283e578081fd5b5035919050565b60008060408385031215612857578182fd5b82359150602083013567ffffffffffffffff811115612874578182fd5b6128808582860161257d565b9150509250929050565b60006020828403121561289b578081fd5b813567ffffffffffffffff8111156128b1578182fd5b6123508482850161257d565b6000602082840312156128ce578081fd5b813567ffffffffffffffff8111156128e4578182fd5b612350848285016125ec565b60008060408385031215612902578182fd5b823567ffffffffffffffff80821115612919578384fd5b612925868387016125ec565b9350602085013591508082111561293a578283fd5b506128808582860161257d565b6000815180845261295f816020860160208601612e89565b601f01601f19169290920160200192915050565b60008251612985818460208701612e89565b9190910192915050565b60008a516129a1818460208f01612e89565b8a51908301906129b5818360208f01612e89565b8a516129c78183850160208f01612e89565b8a519290910101906129dd818360208d01612e89565b88516129ef8183850160208d01612e89565b8851929091010190612a05818360208b01612e89565b8651612a178183850160208b01612e89565b8651929091010190612a2d818360208901612e89565b8451612a3f8183850160208901612e89565b9101019b9a5050505050505050505050565b600080835482600182811c915080831680612a6d57607f831692505b6020808410821415612a8d57634e487b7160e01b87526022600452602487fd5b818015612aa15760018114612ad057612afc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00861689528489019650612afc565b60008a815260209020885b86811015612af45781548b820152908501908301612adb565b505084890196505b509498975050505050505050565b7f3078000000000000000000000000000000000000000000000000000000000000815260008251612b42816002850160208701612e89565b9190910160020192915050565b6020808252825182820181905260009190848201906040850190845b81811015612b905783516001600160a01b031683529284019291840191600101612b6b565b50909695505050505050565b602081526000611cf16020830184612947565b60208152612bc96020820183516001600160a01b03169052565b60006020830151612be560408401826001600160a01b03169052565b5060408301516001600160a01b03811660608401525060608301516001600160a01b03811660808401525060808301516001600160a01b03811660a08401525060a08301516001600160a01b03811660c08401525060c083015160e08381019190915283015161010080840191909152830151610120808401919091528301516101408084019190915283015161016080840152612350610180840182612947565b604051610160810167ffffffffffffffff81118282101715612cab57612cab612f8f565b60405290565b60008219821115612cc457612cc4612f63565b500190565b600060ff821660ff84168060ff03821115612ce657612ce6612f63565b019392505050565b600082612cfd57612cfd612f79565b500490565b600060ff831680612d1557612d15612f79565b8060ff84160491505092915050565b600181815b80851115612d5f578160001904821115612d4557612d45612f63565b80851615612d5257918102915b93841c9390800290612d29565b509250929050565b6000611cf18383600082612d7d57506001610f23565b81612d8a57506000610f23565b8160018114612da05760028114612daa57612dc6565b6001915050610f23565b60ff841115612dbb57612dbb612f63565b50506001821b610f23565b5060208310610133831016604e8410600b8410161715612de9575081810a610f23565b612df38383612d24565b8060001904821115612e0757612e07612f63565b029392505050565b6000816000190483118215151615612e2957612e29612f63565b500290565b600060ff821660ff84168160ff0481118215151615612e0757612e07612f63565b600082821015612e6157612e61612f63565b500390565b600060ff821660ff841680821015612e8057612e80612f63565b90039392505050565b60005b83811015612ea4578181015183820152602001612e8c565b83811115611da45750506000910152565b600081612ec457612ec4612f63565b506000190190565b600181811c90821680612ee057607f821691505b60208210811415612f0157634e487b7160e01b600052602260045260246000fd5b50919050565b601f19601f830116810181811067ffffffffffffffff82111715612f2d57612f2d612f8f565b6040525050565b6000600019821415612f4857612f48612f63565b5060010190565b600082612f5e57612f5e612f79565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060033d1115612fba57600481823e5160e01c5b90565b600060443d1015612fcb5790565b6040517ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc803d016004833e81513d67ffffffffffffffff816024840111818411171561301957505050505090565b82850191508151818111156130315750505050505090565b843d870101602082850101111561304b5750505050505090565b61305a60208286010187612f07565b509095945050505050565b60008060233d111561307d5760206004833e51600191505b9091565b6001600160a01b038116811461188757600080fdfea164736f6c6343000804000a