1 tx
2 calls
constructor
constructor()
functions
currIFOAddress
viewfunction currIFOAddress() view returns (address)
MAX_BUFFER_SECONDS_VESTING
viewfunction MAX_BUFFER_SECONDS_VESTING() view returns (uint256)
MAX_BUFFER_SECONDS
viewfunction MAX_BUFFER_SECONDS() view returns (uint256)
owner
viewfunction owner() view returns (address)
createIFO
nonpayablefunction createIFO(address[] _addresses, uint256[] _startAndEndTimestamps, uint8 _maxPoolId, uint256 _pointThreshold, uint256 _vestingStartTime)
recoverWrongTokens
nonpayablefunction recoverWrongTokens(address _tokenAddress)
renounceOwnership
nonpayablefunction renounceOwnership()
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateMaxBuffer
nonpayablefunction updateMaxBuffer(uint256 newMaxBuffer)
events
AdminTokenRecovery
event AdminTokenRecovery(address indexed tokenRecovered, uint256 amount)
NewIFOContract
event NewIFOContract(address indexed ifoAddress)
NewMaxBuffer
event NewMaxBuffer(uint256 maxBuffer)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
AdminAddressIsNull
error AdminAddressIsNull()
EndTimeTooFar
error EndTimeTooFar()
LpTokenSameWithOfferingToken
error LpTokenSameWithOfferingToken()
StartTimeMustGreaterThanCurrentBlockTime
error StartTimeMustGreaterThanCurrentBlockTime()
StartTimeMustInferiorToEndTime
error StartTimeMustInferiorToEndTime()
VestingStartTimeMustGreaterThanEndTime
error VestingStartTimeMustGreaterThanEndTime()
VestingStartTimeTooFar
error VestingStartTimeTooFar()
creation bytecode
0x608060405234801561001057600080fd5b5061001a33610026565b62278d00600155610076565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b615768806100856000396000f3fe608060405234801561001057600080fd5b50600436106100835760003560e01c8063114c0fa81461008857806354070e39146100b8578063715018a6146100cf578063746268cc146100d957806387b7db5c146100ec5780638da5cb5b146100ff578063d04cbeb314610107578063eec784bd14610111578063f2fde38b14610124575b600080fd5b60025461009b906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c160015481565b6040519081526020016100af565b6100d7610137565b005b6100d76100e7366004610c16565b61017b565b6100d76100fa366004610c31565b6102c2565b61009b61032c565b6100c162278d0081565b6100d761011f366004610c96565b61033b565b6100d7610132366004610c16565b610851565b3361014061032c565b6001600160a01b03161461016f5760405162461bcd60e51b815260040161016690610d32565b60405180910390fd5b61017960006108f1565b565b3361018461032c565b6001600160a01b0316146101aa5760405162461bcd60e51b815260040161016690610d32565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156101f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102159190610d67565b9050600081116102675760405162461bcd60e51b815260206004820152601f60248201527f4f7065726174696f6e733a2042616c616e6365206d757374206265203e2030006044820152606401610166565b61027b6001600160a01b0383163383610941565b816001600160a01b03167f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab78129826040516102b691815260200190565b60405180910390a25050565b336102cb61032c565b6001600160a01b0316146102f15760405162461bcd60e51b815260040161016690610d32565b60018190556040518181527f6d0e750dce5e074f2672f12d0fd1de4bab34323530b02e094e59481a0850df609060200160405180910390a150565b6000546001600160a01b031690565b3361034461032c565b6001600160a01b03161461036a5760405162461bcd60e51b815260040161016690610d32565b60008787600081811061037f5761037f610d80565b90506020020160208101906103949190610c16565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f59190610d67565b101561040057600080fd5b60008787600181811061041557610415610d80565b905060200201602081019061042a9190610c16565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610467573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048b9190610d67565b101561049657600080fd5b868660018181106104a9576104a9610d80565b90506020020160208101906104be9190610c16565b6001600160a01b0316878760008181106104da576104da610d80565b90506020020160208101906104ef9190610c16565b6001600160a01b03160361051657604051637299907360e11b815260040160405180910390fd5b60008787600481811061052b5761052b610d80565b90506020020160208101906105409190610c16565b6001600160a01b03160361056757604051630e8f677560e21b815260040160405180910390fd5b6001546105749042610d96565b8585600181811061058757610587610d80565b90506020020135106105ac5760405163eb47c4f360e01b815260040160405180910390fd5b848460018181106105bf576105bf610d80565b90506020020135858560008181106105d9576105d9610d80565b90506020020135106105fe576040516311af708560e21b815260040160405180910390fd5b428585600081811061061257610612610d80565b90506020020135116106375760405163582314d560e11b815260040160405180910390fd5b80156106855762278d008585600181811061065457610654610d80565b905060200201356106659190610d96565b8111156106855760405163934d841560e01b815260040160405180910390fd5b60006040518060200161069790610bed565b601f1982820381018352601f9091011660405290506000888882816106be576106be610d80565b90506020020160208101906106d39190610c16565b898960018181106106e6576106e6610d80565b90506020020160208101906106fb9190610c16565b8888600081811061070e5761070e610d80565b6040516bffffffffffffffffffffffff19606096871b81166020838101919091529590961b90951660348601529290920201356048830152506068016040516020818303038152906040528051906020012090506000818351602085016000f5600154604051636865f6e960e01b81529192506001600160a01b03831691636865f6e9916107ac918e918e918e918e918e908e908e90600401610dbd565b600060405180830381600087803b1580156107c657600080fd5b505af11580156107da573d6000803e3d6000fd5b50506002546001600160a01b038481169116149150610811905057600280546001600160a01b0319166001600160a01b0383161790555b6040516001600160a01b038216907f3b823f91f23e8f12a60f36282813ffed043efcb2101731734672a4726c08645490600090a250505050505050505050565b3361085a61032c565b6001600160a01b0316146108805760405162461bcd60e51b815260040161016690610d32565b6001600160a01b0381166108e55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610166565b6108ee816108f1565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610993908490610998565b505050565b60006109ed826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610a6a9092919063ffffffff16565b8051909150156109935780806020019051810190610a0b9190610e5d565b6109935760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610166565b6060610a798484600085610a83565b90505b9392505050565b606082471015610ae45760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610166565b6001600160a01b0385163b610b3b5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610166565b600080866001600160a01b03168587604051610b579190610ea3565b60006040518083038185875af1925050503d8060008114610b94576040519150601f19603f3d011682016040523d82523d6000602084013e610b99565b606091505b5091509150610ba9828286610bb4565b979650505050505050565b60608315610bc3575081610a7c565b825115610bd35782518084602001fd5b8160405162461bcd60e51b81526004016101669190610ebf565b61484080610ef383390190565b80356001600160a01b0381168114610c1157600080fd5b919050565b600060208284031215610c2857600080fd5b610a7c82610bfa565b600060208284031215610c4357600080fd5b5035919050565b60008083601f840112610c5c57600080fd5b50813567ffffffffffffffff811115610c7457600080fd5b6020830191508360208260051b8501011115610c8f57600080fd5b9250929050565b600080600080600080600060a0888a031215610cb157600080fd5b873567ffffffffffffffff80821115610cc957600080fd5b610cd58b838c01610c4a565b909950975060208a0135915080821115610cee57600080fd5b50610cfb8a828b01610c4a565b909650945050604088013560ff81168114610d1557600080fd5b969995985093969295946060840135945060809093013592915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610d7957600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b80820180821115610db757634e487b7160e01b600052601160045260246000fd5b92915050565b60c0808252810188905260008960e08301825b8b811015610dfe576001600160a01b03610de984610bfa565b16825260209283019290910190600101610dd0565b5083810360208501528881526001600160fb1b03891115610e1e57600080fd5b8860051b9150818a602083013760408401889052016020019050610e47606083018660ff169052565b608082019390935260a001529695505050505050565b600060208284031215610e6f57600080fd5b81518015158114610a7c57600080fd5b60005b83811015610e9a578181015183820152602001610e82565b50506000910152565b60008251610eb5818460208701610e7f565b9190910192915050565b6020815260008251806020840152610ede816040850160208701610e7f565b601f01601f1916919091016040019291505056fe60a06040523480156200001157600080fd5b50600160005562000022336200002c565b336080526200007e565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6080516147a66200009a600039600061134001526147a66000f3fe608060405234801561001057600080fd5b50600436106102ab5760003560e01c80638da5cb5b11610172578063ca463ca4116100d9578063ea1bb3d511610092578063ea1bb3d514610673578063edf26d9b14610686578063f2fde38b14610699578063f51321d7146106ac578063f7c469f0146106bf578063f9cd5c12146106d2578063feebf529146106f257600080fd5b8063ca463ca4146105fe578063caa7f2321461061e578063d04dac1514610631578063e2ec6ec314610644578063e6fd48bc14610657578063e90507631461066057600080fd5b8063ae8973a01161012b578063ae8973a014610575578063b0adb22014610588578063b1ced5e714610591578063b6549f75146105b0578063b86c6f14146105b8578063c0297737146105eb57600080fd5b80638da5cb5b146104bd5780639ef346b4146104c55780639f1b524814610523578063a47ff7e514610536578063a85adeab14610563578063a8660a781461056c57600080fd5b806349032cdb11610216578063760b3180116101cf578063760b31801461043d57806379795108146104465780637b9417c81461044e5780637f1bdd76146104615780638518b3c5146104745780638af104da146104aa57600080fd5b806349032cdb146103c55780634af3c9b7146103e557806354070e391461040657806367d42a8b1461040f5780636865f6e914610422578063715018a61461043557600080fd5b806328fddfaf1161026857806328fddfaf1461033857806337f859b8146103455780633af32abf146103585780633f138d4b1461038457806346ab91bf1461039757806348deb471146103bd57600080fd5b806306cec857146102b057806313083617146102d85780631e3bba08146102ea5780632374876c146102fd57806324953eaa14610312578063286dd3f514610325575b600080fd5b6102c36102be366004613f26565b610712565b60405190151581526020015b60405180910390f35b6032545b6040519081526020016102cf565b6102dc6102f8366004613f54565b610735565b61031061030b366004613f89565b6107e3565b005b610310610320366004613fef565b610c0a565b610310610333366004613f26565b610d0c565b6031546102c39060ff1681565b6102dc610353366004614030565b610d84565b6102c3610366366004613f26565b6001600160a01b031660009081526002602052604090205460ff1690565b610310610392366004614049565b610e35565b6103aa6103a5366004614030565b610ef6565b6040516102cf979695949392919061408b565b6034546102dc565b6102dc6103d3366004613f26565b602f6020526000908152604090205481565b6103f86103f33660046140e6565b610fd9565b6040516102cf929190614175565b6102dc600c5481565b61031061041d366004614030565b611176565b6103106104303660046141ce565b611334565b61031061161d565b6102dc60125481565b6102dc611658565b61031061045c366004613f26565b6116dd565b61031061046f366004614269565b611758565b61049d610482366004614030565b602e602052600090815260409020546001600160a01b031681565b6040516102cf919061428c565b6102dc6104b8366004614049565b611d53565b61049d611d9a565b6104d86104d3366004614030565b611da9565b6040516102cf91908151151581526020808301516001600160a01b03169082015260408083015160ff1690820152606080830151908201526080918201519181019190915260a00190565b6103106105313660046142a0565b611e15565b600f5460105460115461054892919083565b604080519384526020840192909252908201526060016102cf565b6102dc600b5481565b6102dc60305481565b6103106105833660046142c2565b611f65565b6102dc600e5481565b600d5461059e9060ff1681565b60405160ff90911681526020016102cf565b610310611fd6565b6105cb6105c6366004614030565b61203a565b6040805194855260208501939093529183015260608201526080016102cf565b6102c36105f9366004613f26565b6120c7565b61061161060c3660046140e6565b6122bb565b6040516102cf91906142da565b61031061062c366004613fef565b612406565b6102c361063f366004613f26565b6124fc565b610310610652366004613fef565b6126ff565b6102dc600a5481565b61031061066e366004614352565b6127fc565b6102dc610681366004614030565b612a61565b61049d610694366004614030565b612ae5565b6103106106a7366004613f26565b612b05565b6104d86106ba366004614049565b612ba5565b6102dc6106cd366004613f26565b612bba565b6106e56106e03660046140e6565b612bde565b6040516102cf91906143e1565b6102dc610700366004613f26565b602d6020526000908152604090205481565b6001600160a01b03811660009081526002602052604081205460ff165b92915050565b600d5460009060ff90811690831611156107515750600061072f565b600061075e846000611d53565b600081815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90048316938101849052600182015460608201526002909101546080820152929350851690036107cf5750905061072f565b6107da856001611d53565b95945050505050565b60026000540361080e5760405162461bcd60e51b8152600401610805906143f4565b60405180910390fd5b600260005561081c81612c99565b600b54336000908152602c6020908152604080832060ff868116855292529091208054600190910154610850939216612cc3565b336000908152602f6020526040902054156109ae57600080806004600201546001600160a01b031663987ee1566004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd5906108b090339060040161428c565b602060405180830381865afa1580156108cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f19190614441565b6040518263ffffffff1660e01b815260040161090d919061428c565b60c060405180830381865afa15801561092a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061094e919061445e565b95509550955050505080158061097257506009546001600160a01b03848116911614155b8061098c5750336000908152602f60205260409020548214155b156109aa576040516319a9a2ef60e01b815260040160405180910390fd5b5050505b6109b733612d23565b336000908152602c6020908152604080832060ff8516845290915281206001908101805460ff1916909117905560305490036109f257426030555b6000806000610a013385612ee3565b919450925090508015610a59578060138560ff1660028110610a2557610a2561442b565b600c020160060154610a3791906144d3565b60138560ff1660028110610a4d57610a4d61442b565b600c0201600601819055505b8215610beb57600060138560ff1660028110610a7757610a7761442b565b600c0201600801600001546064610a8e91906144e6565b1115610b39576000606460138660ff1660028110610aae57610aae61442b565b600c0201600801600001546064610ac591906144e6565b610acf90866144f9565b610ad99190614510565b9050610af73382600460015b01546001600160a01b03169190613123565b604080518281526020810185905260ff87169133917f51524c2e5edfedf8b01b29719c661e4fbe27e71734e7cd773dabb7cb712fb3b3910160405180910390a3505b600060138560ff1660028110610b5157610b5161442b565b600c0201600801600001541115610beb576000606460138660ff1660028110610b7c57610b7c61442b565b600c02016008016000015485610b9291906144f9565b610b9c9190614510565b9050610ba9338683613186565b604080518281526020810185905260ff87169133917f4b386667138d87683f75b2e46ad8ac192b053af4c8875da8689415997663a950910160405180910390a3505b8115610bff57610bff338360046000610ae5565b505060016000555050565b33610c13611d9a565b6001600160a01b031614610c395760405162461bcd60e51b815260040161080590614532565b60005b81811015610d0757600060026000858585818110610c5c57610c5c61442b565b9050602002016020810190610c719190613f26565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055828282818110610cab57610cab61442b565b9050602002016020810190610cc09190613f26565b6001600160a01b03167ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a60405160405180910390a280610cff81614567565b915050610c3c565b505050565b33610d15611d9a565b6001600160a01b031614610d3b5760405162461bcd60e51b815260040161080590614532565b6001600160a01b038116600081815260026020526040808220805460ff19169055517ff1abf01a1043b7c244d128e8595cf0c1d10743b022b03a02dffd8ca3bf729f5a9190a250565b600060138260028110610d9957610d9961442b565b600c02016003015460ff16610db057506000919050565b600060138360028110610dc557610dc561442b565b600c0201600401541115610df55760138260028110610de657610de661442b565b600c0201600401549050919050565b61072f60138360028110610e0b57610e0b61442b565b600c02016005015460138460028110610e2657610e2661442b565b600c02015461338e565b919050565b610e3d61342c565b6004546001600160a01b0390811690831603610e6c576040516310da472360e01b815260040160405180910390fd5b6005546001600160a01b0390811690831603610e9b5760405163a8dfadb960e01b815260040160405180910390fd5b610eaf6001600160a01b0383163383613123565b604080516001600160a01b0384168152602081018390527f74545154aac348a3eac92596bd1971957ca94795f4e954ec5f613b55fab7812991015b60405180910390a15050565b600080600080600080600060138860028110610f1457610f1461442b565b600c02015460138960028110610f2c57610f2c61442b565b600c02016001015460138a60028110610f4757610f4761442b565b600c02016002015460138b60028110610f6257610f6261442b565b600c02016003015460ff1660138c60028110610f8057610f8061442b565b600c02016005015460138d60028110610f9b57610f9b61442b565b600c02016006015460138e60028110610fb657610fb661442b565b600c020160070154959e949d50929b509099509750955060ff9091169350915050565b6060806000836001600160401b03811115610ff657610ff6614580565b60405190808252806020026020018201604052801561101f578160200160208202803683370190505b5090506000846001600160401b0381111561103c5761103c614580565b604051908082528060200260200182016040528015611065578160200160208202803683370190505b50905060005b60ff811686111561116957600087878360ff1681811061108d5761108d61442b565b90506020020160208101906110a29190613f89565b600d5490915060ff90811690821611611156576001600160a01b0389166000908152602c6020908152604080832060ff80861685529252909120548551909186919085169081106110f5576110f561442b565b6020908102919091018101919091526001600160a01b038a166000908152602c8252604080822060ff8086168452935290206001015484519082169185919085169081106111455761114561442b565b911515602092830291909101909101525b508061116181614596565b91505061106b565b5090969095509350505050565b6002600054036111985760405162461bcd60e51b8152600401610805906143f4565b60026000908155818152603360205260409020546111b89060ff1661345c565b6000818152603360205260408120805490916101009091046001600160a01b03163314906111e4611d9a565b6001600160a01b0316336001600160a01b031614905081158015611206575080155b15611224576040516361c042c160e01b815260040160405180910390fd5b6040805160a081018252845460ff808216151583526001600160a01b036101008304166020840152600160a81b9091041691810191909152600184015460608201526002840154608082015260009061127c9061347a565b90506000811161129f57604051632d973f4d60e11b815260040160405180910390fd5b8084600201546112af91906144d3565b60028501556034546112c29082906144e6565b60345583546112e39061010090046001600160a01b03168260046001610ae5565b83546040518281526101009091046001600160a01b0316907fb21fb52d5749b80f3182f8c6992236b5e5576681880914484d7f4c9b062e619e9060200160405180910390a250506001600055505050565b6003546113679060ff167f00000000000000000000000000000000000000000000000000000000000000008988876135cf565b6003805460ff191660011790556000888860028181106113895761138961442b565b905060200201602081019061139e9190613f26565b6001600160a01b03161461144957878760028181106113bf576113bf61442b565b90506020020160208101906113d49190613f26565b60405163aee2f47f60e01b8152600160048201526001600160a01b03919091169063aee2f47f90602401600060405180830381865afa15801561141b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114439190810190614660565b50505050505b60008888600381811061145e5761145e61442b565b90506020020160208101906114739190613f26565b6001600160a01b03161461150c57878760038181106114945761149461442b565b90506020020160208101906114a99190613f26565b6001600160a01b031663f851a4406040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150a9190614441565b505b60005b60ff811688111561158b5788888260ff1681811061152f5761152f61442b565b90506020020160208101906115449190613f26565b60048260ff166006811061155a5761155a61442b565b0180546001600160a01b0319166001600160a01b03929092169190911790558061158381614596565b91505061150f565b508585600081811061159f5761159f61442b565b6020029190910135600a5550858560018181106115be576115be61442b565b6020029190910135600b5550600c849055600d805460ff191660ff8516179055600e8290556030819055611613888860048181106115fe576115fe61442b565b90506020020160208101906106a79190613f26565b5050505050505050565b33611626611d9a565b6001600160a01b03161461164c5760405162461bcd60e51b815260040161080590614532565b6116566000613683565b565b6034546005546040516370a0823160e01b8152600092916001600160a01b0316906370a082319061168d90309060040161428c565b602060405180830381865afa1580156116aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ce91906146eb565b6116d891906144e6565b905090565b336116e6611d9a565b6001600160a01b03161461170c5760405162461bcd60e51b815260040161080590614532565b6001600160a01b038116600081815260026020526040808220805460ff19166001179055517fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f9190a250565b60026000540361177a5760405162461bcd60e51b8152600401610805906143f4565b600260005561178881612c99565b6007546040516316fc4fd560e01b81526000916001600160a01b0316906316fc4fd5906117b990339060040161428c565b602060405180830381865afa1580156117d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fa9190614441565b90506001600160a01b03811661182357604051630a3a7b5760e21b815260040160405180910390fd5b6118a681846004600201546001600160a01b0316601360ff87166002811061184d5761184d61442b565b600c020160070160009054906101000a900460ff1660138760ff16600281106118785761187861442b565b600c02016001015460138860ff16600281106118965761189661442b565b600c020154600a54600b546136d5565b6012546005546040516370a0823160e01b81526001600160a01b03909116906370a08231906118d990309060040161428c565b602060405180830381865afa1580156118f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191a91906146eb565b10156119395760405163726da7d560e11b815260040160405180910390fd5b600060138360ff16600281106119515761195161442b565b600c02016007015460ff16600281111561196d5761196d614075565b14806119aa5750600260138360ff166002811061198c5761198c61442b565b600c02016007015460ff1660028111156119a8576119a8614075565b145b15611b2e576007546001600160a01b0316158015906119fb5750600260138360ff16600281106119dc576119dc61442b565b600c02016007015460ff1660028111156119f8576119f8614075565b14155b15611ab3576007546040516336b5bc3760e21b81526000916001600160a01b03169063dad6f0dc90611a3190339060040161428c565b602060405180830381865afa158015611a4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a7291906146eb565b336000908152602d60205260409020549091508190611a929086906144d3565b1115611ab157604051630448a42b60e21b815260040160405180910390fd5b505b611abd8383613819565b600060138360ff1660028110611ad557611ad561442b565b600c02016007015460ff166002811115611af157611af1614075565b14611afd576000611aff565b825b336000908152602d6020526040902054611b1991906144d3565b336000908152602d6020526040902055611d49565b6006546001600160a01b031615611d3f576000808080600460020154604051634c3f70ab60e11b81526001600160a01b039091169063987ee15690611b7790889060040161428c565b60c060405180830381865afa158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bb8919061445e565b9550955095505094505080611be05760405163f7bd660760e01b815260040160405180910390fd5b611be98461398d565b158015611bfc5750611bfa33610712565b155b8015611c105750611c0e3384846139a6565b155b15611c2e576040516309a318fb60e31b815260040160405180910390fd5b611c378461398d565b158015611c4a5750611c4833610712565b155b8015611c6357506009546001600160a01b038481169116145b15611d3a576000828152602e60205260409020546001600160a01b0316611ca7576000828152602e6020526040902080546001600160a01b03191633179055611cde565b6000828152602e60205260409020546001600160a01b03163314611cde5760405163d69933c360e01b815260040160405180910390fd5b336000908152602f60205260408120549003611d0b57336000908152602f60205260409020829055611d3a565b336000908152602f60205260409020548214611d3a57604051630236c46360e51b815260040160405180910390fd5b505050505b611d498383613819565b5050600160005550565b6040516bffffffffffffffffffffffff19606084901b1660208201526034810182905260009060540160405160208183030381529060405280519060200120905092915050565b6001546001600160a01b031690565b611db1613ec5565b50600090815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90049092169282019290925260018201546060820152600290910154608082015290565b611e1d61342c565b600480546040516370a0823160e01b8152611f079285926001600160a01b0316916370a0823191611e509130910161428c565b602060405180830381865afa158015611e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e9191906146eb565b6005546040516370a0823160e01b815285916001600160a01b0316906370a0823190611ec190309060040161428c565b602060405180830381865afa158015611ede573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0291906146eb565b613a07565b8115611f1b57611f1b338360046000610ae5565b8015611f2f57611f2f338260046001610ae5565b60408051838152602081018390527f94ebb62a252249c867ecb758d386f50a95be7e8df9e1c52917c9cf494327dd7d9101610eea565b611f6d61342c565b611f78600b54613a4f565b60208181013560108190558235600f819055604080850135601181905581519283529382019290925280820192909252517f2058a318dbdfd2edd92a32cfa0ee233a30b165b83b421830109cb22ae86f67459181900360600190a150565b611fde61342c565b60315460ff161561200257604051630476d49560e21b815260040160405180910390fd5b6031805460ff191660011790556040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a1565b600080600080601385600281106120535761205361442b565b600c020160080160000154601386600281106120715761207161442b565b600c0201600801600101546013876002811061208f5761208f61442b565b600c020160080160020154601388600281106120ad576120ad61442b565b600c02016008016003015493509350935093509193509193565b6006546000906001600160a01b03166120e257506001919050565b6006546007546040516316fc4fd560e01b81526001600160a01b039283169263ea0d5dcd9216906316fc4fd59061211d90879060040161428c565b602060405180830381865afa15801561213a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061215e9190614441565b6040518263ffffffff1660e01b815260040161217a919061428c565b602060405180830381865afa158015612197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121bb9190614704565b6121c757506000919050565b6006546007546040516316fc4fd560e01b81526000926001600160a01b039081169263987ee156929116906316fc4fd59061220690889060040161428c565b602060405180830381865afa158015612223573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122479190614441565b6040518263ffffffff1660e01b8152600401612263919061428c565b60c060405180830381865afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a4919061445e565b505050509150506122b48161398d565b9392505050565b60606000826001600160401b038111156122d7576122d7614580565b60405190808252806020026020018201604052801561231057816020015b6122fd613ef3565b8152602001906001900390816122f55790505b50905060005b60ff81168411156123fd57600080600080601389898760ff1681811061233e5761233e61442b565b90506020020160208101906123539190613f89565b60ff16600281106123665761236661442b565b600c02015411156123ac576123a48989898760ff1681811061238a5761238a61442b565b905060200201602081019061239f9190613f89565b612ee3565b919450925090505b604051806060016040528084815260200183815260200182815250858560ff16815181106123dc576123dc61442b565b602002602001018190525050505080806123f590614596565b915050612316565b50949350505050565b61240e61342c565b612454600c5483839050600a548585600081811061242e5761242e61442b565b90506020020135868660018181106124485761244861442b565b90506020020135613a6f565b818160008181106124675761246761442b565b6020029190910135600a5550818160018181106124865761248661442b565b6020029190910135600b55507f57df350cfad05a64accd73700fee8a7febd6d8430e035e45f0599ca62494aa8b82826000816124c4576124c461442b565b90506020020135838360018181106124de576124de61442b565b90506020020135604051610eea929190918252602082015260400190565b6006546000906001600160a01b031661251757506001919050565b6006546007546040516316fc4fd560e01b81526001600160a01b039283169263ea0d5dcd9216906316fc4fd59061255290879060040161428c565b602060405180830381865afa15801561256f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125939190614441565b6040518263ffffffff1660e01b81526004016125af919061428c565b602060405180830381865afa1580156125cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125f09190614704565b6125fc57506000919050565b6000806004600201546001600160a01b031663987ee1566004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd59061264690899060040161428c565b602060405180830381865afa158015612663573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126879190614441565b6040518263ffffffff1660e01b81526004016126a3919061428c565b60c060405180830381865afa1580156126c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126e4919061445e565b50945094505050506126f78483836139a6565b949350505050565b33612708611d9a565b6001600160a01b03161461272e5760405162461bcd60e51b815260040161080590614532565b60005b81811015610d07576001600260008585858181106127515761275161442b565b90506020020160208101906127669190613f26565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790558282828181106127a0576127a061442b565b90506020020160208101906127b59190613f26565b6001600160a01b03167fd1bba68c128cc3f427e5831b3c6f99f480b6efa6b9e80c757768f6124158cc3f60405160405180910390a2806127f481614567565b915050612731565b61280461342c565b61280d83612c99565b600a54612827908686843560408601356060870135613b19565b8760138460ff166002811061283e5761283e61442b565b600c0201600101819055508660138460ff16600281106128605761286061442b565b600c02015585601360ff85166002811061287c5761287c61442b565b600c0201600201819055508460138460ff166002811061289e5761289e61442b565b600c020160030160006101000a81548160ff0219169083151502179055508360138460ff16600281106128d3576128d361442b565b600c0201600401819055508160138460ff16600281106128f5576128f561442b565b600c020160070160006101000a81548160ff0219169083600281111561291d5761291d614075565b02179055508035601360ff85166002811061293a5761293a61442b565b600c020160080160000181905550806020013560138460ff16600281106129635761296361442b565b600c020160080160010181905550806040013560138460ff166002811061298c5761298c61442b565b600c020160080160020181905550806060013560138460ff16600281106129b5576129b561442b565b600c0201600b01556000805b600d5460ff90811690821611612a0e5760138160ff16600281106129e7576129e761442b565b600c020160010154826129fa91906144d3565b915080612a0681614596565b9150506129c1565b506012819055604080518a8152602081018a905260ff86168183015290517fddaf243a142670be60c19ff7116b5d8b124717b29bb4cc03cead42161614105b9181900360600190a1505050505050505050565b600081815260336020526040812054612a7c9060ff1661345c565b600082815260336020908152604091829020825160a081018452815460ff808216151583526001600160a01b0361010083041694830194909452600160a81b90049092169282019290925260018201546060820152600290910154608082015261072f9061347a565b60048160068110612af557600080fd5b01546001600160a01b0316905081565b33612b0e611d9a565b6001600160a01b031614612b345760405162461bcd60e51b815260040161080590614532565b6001600160a01b038116612b995760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610805565b612ba281613683565b50565b612bad613ec5565b6122b46104d38484611d53565b6001600160a01b03811660009081526035602052604081205461072f908390611d53565b60606000826001600160401b03811115612bfa57612bfa614580565b604051908082528060200260200182016040528015612c23578160200160208202803683370190505b50905060005b60ff81168411156123fd57612c678686868460ff16818110612c4d57612c4d61442b565b9050602002016020810190612c629190613f89565b613c08565b828260ff1681518110612c7c57612c7c61442b565b602090810291909101015280612c9181614596565b915050612c29565b600d5460ff9081169082161115612ba257604051630a26ca2560e31b815260040160405180910390fd5b824211612ce35760405163085de62560e01b815260040160405180910390fd5b81600003612d04576040516337191a8560e21b815260040160405180910390fd5b8015610d07576040516302cce53760e21b815260040160405180910390fd5b6006546001600160a01b031615612ba2576001600160a01b0381166000908152602b602052604090205460ff16158015612d5e575060105415155b15612ba2576000805b600d5460ff90811690821611612dbc576001600160a01b0383166000908152602c6020908152604080832060ff85168452909152902054612da890836144d3565b915080612db481614596565b915050612d67565b50601154811115612edf576001600160a01b0382166000908152602b60205260409020805460ff191660011790556004600201546001600160a01b0316631bdc17f66004600301546040516316fc4fd560e01b81526001600160a01b03909116906316fc4fd590612e3190879060040161428c565b602060405180830381865afa158015612e4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e729190614441565b601054600f5460405160e085901b6001600160e01b03191681526001600160a01b03909316600484015260248301919091526044820152606401600060405180830381600087803b158015612ec657600080fd5b505af1158015612eda573d6000803e3d6000fd5b505050505b5050565b60008060008060008060138760ff1660028110612f0257612f0261442b565b600c020154601360ff891660028110612f1d57612f1d61442b565b600c020160050154111561309e576000612f378989613c08565b905064e8d4a510008160138a60ff1660028110612f5657612f5661442b565b600c020160010154612f6891906144f9565b612f729190614510565b9350600064e8d4a510008260138b60ff1660028110612f9357612f9361442b565b600c020154612fa291906144f9565b612fac9190614510565b6001600160a01b038b166000908152602c6020908152604080832060ff8e168452909152902054909150612fe19082906144e6565b935060138960ff1660028110612ff957612ff961442b565b600c02016003015460ff161561309757600060138a60ff16600281106130215761302161442b565b600c02016004015490508060000361306d5761306a60138b60ff166002811061304c5761304c61442b565b600c02016005015460138c60ff1660028110610e2657610e2661442b565b90505b64e8d4a5100061307d82876144f9565b6130879190614510565b935061309384866144e6565b9450505b5050613115565b60138760ff16600281106130b4576130b461442b565b600c020154601360ff8916600281106130cf576130cf61442b565b600c0201600101546001600160a01b038a166000908152602c6020908152604080832060ff8d16845290915290205461310891906144f9565b6131129190614510565b92505b919450925090509250925092565b6040516001600160a01b038316602482015260448101829052610d0790849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152613cb7565b8061318f611658565b10156131fc5760405162461bcd60e51b815260206004820152603660248201527f63616e206e6f74206372656174652076657374696e67207363686564756c6520604482015275776974682073756666696369656e7420746f6b656e7360501b6064820152608401610805565b600061320784612bba565b60008181526033602052604090205490915061010090046001600160a01b03161561327e5760405162461bcd60e51b815260206004820152602160248201527f76657374696e675363686564756c654964206973206265656e206372656174656044820152601960fa1b6064820152608401610805565b6040805160a08101825260018082526001600160a01b03878116602080850191825260ff898116868801908152606087018a81526000608089018181528b825260339095529890982096518754945191516001600160a81b0319909516901515610100600160a81b0319161761010091909516029390931760ff60a81b1916600160a81b9290931691909102919091178355925190820155905160029091015560345461332c9083906144d3565b60345560328054600181019091557f11df491316f14931039edfd4f8964c9a443b862f02d4c7611d18c2bc4e6ff697018190556001600160a01b038416600090815260356020526040812080549161338383614567565b919050555050505050565b60008061339b8385614510565b90506105dc81106133b357630ee6b28091505061072f565b6103e881106133c957631dcd650091505061072f565b6101f481106133df57633b9aca0091505061072f565b60fa81106133f457634a817c8091505061072f565b60648110613409576359682f0091505061072f565b6032811061341e57639502f90091505061072f565b64012a05f20091505061072f565b33613435611d9a565b6001600160a01b03161461165657604051635fc483c560e01b815260040160405180910390fd5b80612ba257604051638bc0c80560e01b815260040160405180910390fd5b60006013826040015160ff16600281106134965761349661442b565b600c0201600801600101546030546134ae91906144d3565b4210156134bd57506000919050565b6013826040015160ff16600281106134d7576134d761442b565b600c0201600801600201546030546134ef91906144d3565b421015806134ff575060315460ff165b15613518578160800151826060015161072f91906144e6565b60006030544261352891906144e6565b905060006013846040015160ff16600281106135465761354661442b565b600c0201600801600301549050600081836135619190614510565b9050600061356f83836144f9565b905060006013876040015160ff166002811061358d5761358d61442b565b600c0201600801600201548288606001516135a891906144f9565b6135b29190614510565b90508660800151816135c491906144e6565b979650505050505050565b84156135ed5760405162dc149f60e41b815260040160405180910390fd5b336001600160a01b0385161461361657604051631966391b60e11b815260040160405180910390fd5b8260061461363757604051633b9b621f60e01b815260040160405180910390fd5b8160021461365857604051631397ee3560e31b815260040160405180910390fd5b60028160ff161061367c5760405163a854b3bd60e01b815260040160405180910390fd5b5050505050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038616158015906136ff575060028560028111156136fc576136fc614075565b14155b1561378e5760405163ea0d5dcd60e01b81526001600160a01b0387169063ea0d5dcd90613730908b9060040161428c565b602060405180830381865afa15801561374d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906137719190614704565b61378e5760405163645bb1bd60e11b815260040160405180910390fd5b831580613799575082155b156137b757604051633c67586360e01b815260040160405180910390fd5b8142116137d75760405163085de62560e01b815260040160405180910390fd5b804211156137f85760405163ecdd1c2960e01b815260040160405180910390fd5b8660000361161357604051639e6c689560e01b815260040160405180910390fd5b600454613831906001600160a01b0316333085613d89565b336000908152602c6020908152604080832060ff8516845290915290205461385a9083906144d3565b336000908152602c6020908152604080832060ff86168085529252822092909255906013906002811061388f5761388f61442b565b600c02016002015411156138f85760138160ff16600281106138b3576138b361442b565b600c020160020154336000908152602c6020908152604080832060ff8616845290915290205411156138f85760405163037351d360e11b815260040160405180910390fd5b8160138260ff166002811061390f5761390f61442b565b600c02016005015461392191906144d3565b60138260ff16600281106139375761393761442b565b600c0201600501819055508060ff16336001600160a01b03167ff763e680fce25a97ffd55d8b705370c98b47b2285f7b3b2900c43606fd4180458460405161398191815260200190565b60405180910390a35050565b6000600e5460001415801561072f575050600e54111590565b60006004600501546001600160a01b0384811691161480156126f757506000828152602e60205260409020546001600160a01b031615806126f757506000828152602e60205260409020546001600160a01b03858116911614949350505050565b82841115613a28576040516330a3824960e21b815260040160405180910390fd5b80821115613a4957604051632af9b86160e01b815260040160405180910390fd5b50505050565b804210612ba257604051630ffe6bd560e21b815260040160405180910390fd5b83600214613a9057604051631397ee3560e31b815260040160405180910390fd5b613a9a85426144d3565b8110613ab95760405163eb47c4f360e01b815260040160405180910390fd5b824210613ad9576040516365be5cfd60e11b815260040160405180910390fd5b808210613af9576040516311af708560e21b815260040160405180910390fd5b81421061367c5760405163582314d560e11b815260040160405180910390fd5b854210613b39576040516365be5cfd60e11b815260040160405180910390fd5b64e8d4a510008410613b5e57604051634494446160e11b815260040160405180910390fd5b6064831115613b8057604051630e07a92f60e01b815260040160405180910390fd5b81600003613ba157604051630914cb9d60e41b815260040160405180910390fd5b6001811015613bc357604051631018767560e11b815260040160405180910390fd5b81811115613be457604051630cdbeed760e01b815260040160405180910390fd5b84612eda578315612eda576040516355d8bb6760e01b815260040160405180910390fd5b600d5460009060ff9081169083161115613c245750600061072f565b600060138360ff1660028110613c3c57613c3c61442b565b600c0201600501541115613caf5760138260ff1660028110613c6057613c6061442b565b600c0201600501546001600160a01b0384166000908152602c6020908152604080832060ff87168452909152902054613c9e9064e8d4a510006144f9565b613ca89190614510565b905061072f565b50600061072f565b6000613d0c826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316613dc19092919063ffffffff16565b805190915015610d075780806020019051810190613d2a9190614704565b610d075760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610805565b6040516001600160a01b0380851660248301528316604482015260648101829052613a499085906323b872dd60e01b9060840161314f565b60606126f78484600085856001600160a01b0385163b613e235760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610805565b600080866001600160a01b03168587604051613e3f9190614721565b60006040518083038185875af1925050503d8060008114613e7c576040519150601f19603f3d011682016040523d82523d6000602084013e613e81565b606091505b50915091506135c482828660608315613e9b5750816122b4565b825115613eab5782518084602001fd5b8160405162461bcd60e51b8152600401610805919061473d565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915290565b60405180606001604052806003906020820280368337509192915050565b6001600160a01b0381168114612ba257600080fd5b600060208284031215613f3857600080fd5b81356122b481613f11565b803560ff81168114610e3057600080fd5b60008060408385031215613f6757600080fd5b8235613f7281613f11565b9150613f8060208401613f43565b90509250929050565b600060208284031215613f9b57600080fd5b6122b482613f43565b60008083601f840112613fb657600080fd5b5081356001600160401b03811115613fcd57600080fd5b6020830191508360208260051b8501011115613fe857600080fd5b9250929050565b6000806020838503121561400257600080fd5b82356001600160401b0381111561401857600080fd5b61402485828601613fa4565b90969095509350505050565b60006020828403121561404257600080fd5b5035919050565b6000806040838503121561405c57600080fd5b823561406781613f11565b946020939093013593505050565b634e487b7160e01b600052602160045260246000fd5b600060e08201905088825287602083015286604083015285151560608301528460808301528360a0830152600383106140d457634e487b7160e01b600052602160045260246000fd5b8260c083015298975050505050505050565b6000806000604084860312156140fb57600080fd5b833561410681613f11565b925060208401356001600160401b0381111561412157600080fd5b61412d86828701613fa4565b9497909650939450505050565b600081518084526020808501945080840160005b8381101561416a5781518752958201959082019060010161414e565b509495945050505050565b604081526000614188604083018561413a565b82810360208481019190915284518083528582019282019060005b818110156141c15784511515835293830193918301916001016141a3565b5090979650505050505050565b60008060008060008060008060c0898b0312156141ea57600080fd5b88356001600160401b038082111561420157600080fd5b61420d8c838d01613fa4565b909a50985060208b013591508082111561422657600080fd5b506142338b828c01613fa4565b9097509550506040890135935061424c60608a01613f43565b92506080890135915060a089013590509295985092959890939650565b6000806040838503121561427c57600080fd5b82359150613f8060208401613f43565b6001600160a01b0391909116815260200190565b600080604083850312156142b357600080fd5b50508035926020909101359150565b6000606082840312156142d457600080fd5b50919050565b602080825282518282018190526000919084820190604085019084805b8281101561433757845184835b600381101561432157825182529188019190880190600101614304565b50505093850193606093909301926001016142f7565b5091979650505050505050565b8015158114612ba257600080fd5b600080600080600080600080888a0361016081121561437057600080fd5b8935985060208a0135975060408a0135965060608a013561439081614344565b955060808a013594506143a560a08b01613f43565b935060c08a0135600381106143b957600080fd5b9250608060df19820112156143cd57600080fd5b5060e0890190509295985092959890939650565b6020815260006122b4602083018461413a565b6020808252601f908201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561445357600080fd5b81516122b481613f11565b60008060008060008060c0878903121561447757600080fd5b865195506020870151945060408701519350606087015161449781613f11565b608088015160a089015191945092506144af81614344565b809150509295509295509295565b634e487b7160e01b600052601160045260246000fd5b8082018082111561072f5761072f6144bd565b8181038181111561072f5761072f6144bd565b808202811582820484141761072f5761072f6144bd565b60008261452d57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060018201614579576145796144bd565b5060010190565b634e487b7160e01b600052604160045260246000fd5b600060ff821660ff81036145ac576145ac6144bd565b60010192915050565b60005b838110156145d05781810151838201526020016145b8565b50506000910152565b600082601f8301126145ea57600080fd5b81516001600160401b038082111561460457614604614580565b604051601f8301601f19908116603f0116810190828211818310171561462c5761462c614580565b8160405283815286602085880101111561464557600080fd5b6146568460208301602089016145b5565b9695505050505050565b600080600080600060a0868803121561467857600080fd5b85516001600160401b038082111561468f57600080fd5b61469b89838a016145d9565b965060208801519150808211156146b157600080fd5b506146be888289016145d9565b945050604086015192506060860151915060808601516146dd81614344565b809150509295509295909350565b6000602082840312156146fd57600080fd5b5051919050565b60006020828403121561471657600080fd5b81516122b481614344565b600082516147338184602087016145b5565b9190910192915050565b602081526000825180602084015261475c8160408501602087016145b5565b601f01601f1916919091016040019291505056fea2646970667358221220a334cad1dadea14758795d1f556f7f89a202b7a556f7820326f34df83223033864736f6c63430008140033a2646970667358221220b988e981fdbcf932132194a612b5f17352a6a4641bfb859679ed19dd528749f564736f6c63430008140033