8 txs
12 calls
constructor
constructor(address _tokenAddress)
functions
adminCount
viewfunction adminCount() view returns (uint256)
amountAvailableToWithdrawByAdmin
viewfunction amountAvailableToWithdrawByAdmin() view returns (uint256)
getAllRecipients
viewfunction getAllRecipients() view returns (address[])
getAllRecipientsLength
viewfunction getAllRecipientsLength() view returns (uint256)
getAllRecipientsSliced
viewfunction getAllRecipientsSliced(uint256 _from, uint256 _to) view returns (address[])
getAllRecipientVestings
viewfunction getAllRecipientVestings(address _recipient) view returns (bytes32[])
getAllRecipientVestingsLength
viewfunction getAllRecipientVestingsLength(address _recipient) view returns (uint256)
getAllRecipientVestingsSliced
viewfunction getAllRecipientVestingsSliced(uint256 _from, uint256 _to, address _recipient) view returns (bytes32[])
getVestingInfo
viewfunction getVestingInfo(bytes32 _vestingId) view returns (tuple)
isAdmin
viewfunction isAdmin(address _addressToCheck) view returns (bool)
isRecipient
viewfunction isRecipient(address recipient) view returns (bool)
numTokensReservedForVesting
viewfunction numTokensReservedForVesting() view returns (uint256)
recipients
viewfunction recipients(uint256) view returns (address)
recipientVestings
viewfunction recipientVestings(address, uint256) view returns (bytes32)
tokenAddress
viewfunction tokenAddress() view returns (address)
vestingById
viewfunction vestingById(bytes32) view returns (address recipient, uint32 startTimestamp, uint32 endTimestamp, uint32 deactivationTimestamp, uint32 timelock, uint32 releaseIntervalSecs, uint32 cliffReleaseTimestamp, uint256 initialUnlock, uint256 cliffAmount, uint256 linearVestAmount, uint256 claimedAmount)
claim
nonpayablefunction claim(bytes32 _vestingId)
createVesting
nonpayablefunction createVesting(address _recipient, uint32 _startTimestamp, uint32 _endTimestamp, uint32 _timelock, uint256 _initialUnlock, uint32 _cliffReleaseTimestamp, uint256 _cliffAmount, uint32 _releaseIntervalSecs, uint256 _linearVestAmount) returns (bytes32 vestingId)
createVestingBatch
nonpayablefunction createVestingBatch(tuple params) returns (bytes32[])
revokeVesting
nonpayablefunction revokeVesting(bytes32 _vestingId)
setAdmin
nonpayablefunction setAdmin(address admin, bool isEnabled)
withdrawAdmin
nonpayablefunction withdrawAdmin(uint256 _amountRequested)
withdrawOtherToken
nonpayablefunction withdrawOtherToken(address _otherTokenAddress)
events
AdminAccessSet
event AdminAccessSet(address indexed _admin, bool _enabled)
AdminWithdrawn
event AdminWithdrawn(address indexed recipient, uint256 amountRequested)
Claimed
event Claimed(address indexed recipient, uint256 withdrawalAmount, bytes32 vestingId)
VestingCreated
event VestingCreated(address indexed recipient, bytes32 vestingId, (address recipient, uint32 startTimestamp, uint32 endTimestamp, uint32 deactivationTimestamp, uint32 timelock, uint32 releaseIntervalSecs, uint32 cliffReleaseTimestamp, uint256 initialUnlock, uint256 cliffAmount, uint256 linearVestAmount, uint256 claimedAmount) vesting)
VestingRevoked
event VestingRevoked(address indexed recipient, uint256 numTokensWithheld, (address recipient, uint32 startTimestamp, uint32 endTimestamp, uint32 deactivationTimestamp, uint32 timelock, uint32 releaseIntervalSecs, uint32 cliffReleaseTimestamp, uint256 initialUnlock, uint256 cliffAmount, uint256 linearVestAmount, uint256 claimedAmount) vesting)
errors
allVestedAmountAlreadyClaimed
error allVestedAmountAlreadyClaimed()
arrayLengthMismatch
error arrayLengthMismatch()
insufficientBalance
error insufficientBalance()
insuficientManagerBalance
error insuficientManagerBalance()
invalidAddress
error invalidAddress()
invalidCliffAmount
error invalidCliffAmount()
invalidCliffRelease
error invalidCliffRelease()
invalidEndTimestamp
error invalidEndTimestamp()
invalidIntervalLength
error invalidIntervalLength()
invalidReleaseInterval
error invalidReleaseInterval()
invalidStartTimestamp
error invalidStartTimestamp()
invalidToken
error invalidToken()
invalidVestedAmount
error invalidVestedAmount()
invalidZeroAddress
error invalidZeroAddress()
notVestingOwner
error notVestingOwner()
timelockEnabled
error timelockEnabled()
vestingAlreadyExists
error vestingAlreadyExists(bytes32 vestingId)
vestingNotActive
error vestingNotActive()
creation bytecode
0x60a06040523480156200001157600080fd5b50604051620027c3380380620027c38339810160408190526200003491620000c0565b3360008181526020818152604091829020805460ff1916600190811790915580805591519182527fe529461c8529abc0e0fe7c5ee361f74fe22e0b7574df1fc0b7558a282091fb78910160405180910390a26001600160a01b038116620000ae5760405163cbdd34cf60e01b815260040160405180910390fd5b6001600160a01b0316608052620000f2565b600060208284031215620000d357600080fd5b81516001600160a01b0381168114620000eb57600080fd5b9392505050565b60805161268b620001386000396000818161034d0152818161052801528181610d060152818161124e0152818161140f0152818161149c0152611591015261268b6000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063a1d0ae57116100c3578063d1bc76a11161007c578063d1bc76a1146103fb578063d77836ce1461040e578063d955d6eb14610421578063e50373f914610434578063e5b3248714610447578063e865fbc71461047057600080fd5b8063a1d0ae5714610387578063b74513c1146103a7578063b8900aa7146103af578063ba48042b146103c2578063bd66528a146103d5578063cdc6aa4c146103e857600080fd5b8063451154d111610115578063451154d1146102b55780634b0bddd2146102c8578063661b743d146102dd5780636d63b7ff146102fd5780638c5143ea1461031d5780639d76ea581461034857600080fd5b8063137c68fa1461015257806324d7806c1461016e5780632b7832b3146101aa5780632eb7d434146101b357806343ff9d8d146102ad575b600080fd5b61015b60025481565b6040519081526020015b60405180910390f35b61019a61017c366004611fdb565b6001600160a01b031660009081526020819052604090205460ff1690565b6040519015158152602001610165565b61015b60015481565b61023b6101c1366004611ff6565b60046020819052600091825260409091208054600182015460028301546003840154948401546005909401546001600160a01b0384169563ffffffff600160a01b8604811696600160c01b8704821696600160e01b9004821695808316956401000000008204841695600160401b9092049093169391908b565b604080516001600160a01b03909c168c5263ffffffff9a8b1660208d0152988a16988b019890985295881660608a0152938716608089015291861660a08801529490941660c086015260e085019390935261010084019290925261012083019190915261014082015261016001610165565b60055461015b565b61015b6102c3366004612023565b610478565b6102db6102d63660046120c7565b61055e565b005b6102f06102eb366004611ff6565b610729565b60405161016591906121c7565b61031061030b3660046121d6565b610837565b60405161016591906121f8565b61019a61032b366004611fdb565b6001600160a01b0316600090815260036020526040902054151590565b61036f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610165565b61039a610395366004612245565b610900565b6040516101659190612281565b610310610d38565b6102db6103bd366004611ff6565b610d9a565b61039a6103d0366004611fdb565b61101e565b6102db6103e3366004611ff6565b61108a565b61039a6103f63660046122b9565b61127b565b61036f610409366004611ff6565b611347565b6102db61041c366004611ff6565b611371565b61015b61042f3660046122ee565b61143a565b6102db610442366004611fdb565b61146b565b61015b610455366004611fdb565b6001600160a01b031660009081526003602052604090205490565b61015b61156d565b3360009081526020819052604081205460ff166104b05760405162461bcd60e51b81526004016104a790612318565b60405180910390fd5b6001600160a01b038a166104d75760405163cbdd34cf60e01b815260040160405180910390fd5b6000826104e4868961235d565b6104ee919061235d565b90508060026000828254610502919061235d565b9091555061051990508b8b8b8b8b8b8b8b8b61160b565b91506105506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084611b29565b509998505050505050505050565b3360009081526020819052604090205460ff1661058d5760405162461bcd60e51b81526004016104a790612318565b6001600160a01b0382166105d55760405162461bcd60e51b815260206004820152600f60248201526e494e56414c49445f4144445245535360881b60448201526064016104a7565b6001600160a01b03821660009081526020819052604090205481151560ff9091161515036106455760405162461bcd60e51b815260206004820181905260248201527f464c41475f414c52454144595f50524553454e545f464f525f4144445245535360448201526064016104a7565b8015610665576001805490600061065b83612370565b91905055506106cc565b60018054116106b65760405162461bcd60e51b815260206004820152601b60248201527f41545f4c454153545f4f4e455f41444d494e5f5245515549524544000000000060448201526064016104a7565b600180549060006106c683612389565b91905055505b6001600160a01b03821660008181526020818152604091829020805460ff191685151590811790915591519182527fe529461c8529abc0e0fe7c5ee361f74fe22e0b7574df1fc0b7558a282091fb78910160405180910390a25050565b6040805161016081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091525060009081526004602081815260409283902083516101608101855281546001600160a01b038116825263ffffffff600160a01b8204811694830194909452600160c01b8104841695820195909552600160e01b90940482166060850152600181015480831660808601526401000000008104831660a0860152600160401b900490911660c0840152600281015460e08401526003810154610100840152908101546101208301526005015461014082015290565b6060600061084584846123a0565b67ffffffffffffffff81111561085d5761085d6123b3565b604051908082528060200260200182016040528015610886578160200160208202803683370190505b509050835b838110156108f657600581815481106108a6576108a66123c9565b6000918252602090912001546001600160a01b0316826108c687846123a0565b815181106108d6576108d66123c9565b6001600160a01b039092166020928302919091019091015260010161088b565b5090505b92915050565b3360009081526020819052604090205460609060ff166109325760405162461bcd60e51b81526004016104a790612318565b600061093e83806123df565b9050905060008167ffffffffffffffff81111561095d5761095d6123b3565b604051908082528060200260200182016040528015610986578160200160208202803683370190505b50905060008261099960208701876123df565b90501415806109b65750826109b160408701876123df565b905014155b806109cf5750826109ca60608701876123df565b905014155b806109e85750826109e360808701876123df565b905014155b80610a015750826109fc60c08701876123df565b905014155b80610a1a575082610a1560a08701876123df565b905014155b80610a33575082610a2e60e08701876123df565b905014155b80610a4d575082610a486101008701876123df565b905014155b15610a6b5760405163150efcf160e21b815260040160405180910390fd5b60005b610a7886806123df565b9050811015610ce057610c28610a8e87806123df565b83818110610a9e57610a9e6123c9565b9050602002016020810190610ab39190611fdb565b610ac060208901896123df565b84818110610ad057610ad06123c9565b9050602002016020810190610ae59190612430565b610af260408a018a6123df565b85818110610b0257610b026123c9565b9050602002016020810190610b179190612430565b610b2460608b018b6123df565b86818110610b3457610b346123c9565b9050602002016020810190610b499190612430565b610b5660808c018c6123df565b87818110610b6657610b666123c9565b905060200201358b8060a00190610b7d91906123df565b88818110610b8d57610b8d6123c9565b9050602002016020810190610ba29190612430565b610baf60c08e018e6123df565b89818110610bbf57610bbf6123c9565b905060200201358d8060e00190610bd691906123df565b8a818110610be657610be66123c9565b9050602002016020810190610bfb9190612430565b8e806101000190610c0c91906123df565b8b818110610c1c57610c1c6123c9565b9050602002013561160b565b838281518110610c3a57610c3a6123c9565b6020908102919091010152610c536101008701876123df565b82818110610c6357610c636123c9565b90506020020135868060c00190610c7a91906123df565b83818110610c8a57610c8a6123c9565b90506020020135878060800190610ca191906123df565b84818110610cb157610cb16123c9565b90506020020135610cc2919061235d565b610ccc919061235d565b610cd6908361235d565b9150600101610a6e565b508060026000828254610cf3919061235d565b90915550610d2e90506001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016333084611b29565b509150505b919050565b60606005805480602002602001604051908101604052809291908181526020018280548015610d9057602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610d72575b5050505050905090565b3360009081526020819052604090205460ff16610dc95760405162461bcd60e51b81526004016104a790612318565b80610dd381610729565b6060015163ffffffff1615610dfb57604051630ca2c97d60e01b815260040160405180910390fd5b600082815260046020818152604080842081516101608101835281546001600160a01b038116825263ffffffff600160a01b8204811695830195909552600160c01b81048516938201849052600160e01b900484166060820152600182015480851660808301526401000000008104851660a0830152600160401b900490931660c0840152600281015460e08401526003810154610100840152928301546101208301526005830154610140830152919291610eb79190611b94565b905080826005015403610edd57604051630301f5f160e51b815260040160405180910390fd5b815463ffffffff42818116600160e01b9081026001600160e01b038516811780885560408051610160810182526001600160a01b0393841693909716929092178652600160a01b810485166020870152600160c01b81048516918601919091520482166060840152600185015480831660808501526401000000008104831660a0850152600160401b900490911660c0830152600284015460e0830152600384015461010083015260048401546101208301526005840154610140830152600091610fa791611b94565b90506000610fb582846123a0565b90508060026000828254610fc991906123a0565b909155505083546040516001600160a01b03909116907f3dc0eb89db3750b7bd29375f003c6a45783d740de9d631c5f9ef2c2b862496049061100e908490889061244b565b60405180910390a2505050505050565b6001600160a01b03811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561107e57602002820191906000526020600020905b81548152602001906001019080831161106a575b50505050509050919050565b600081815260046020526040902080546001600160a01b031633146110c257604051630894bedf60e31b815260040160405180910390fd5b600181015463ffffffff428116911611156110f05760405163b320f6a960e01b815260040160405180910390fd5b604080516101608101825282546001600160a01b038116825263ffffffff600160a01b820481166020840152600160c01b8204811693830193909352600160e01b900482166060820152600183015480831660808301526401000000008104831660a0830152600160401b900490911660c0820152600282015460e082015260038201546101008201526004820154610120820152600582015461014082015260009061119d9042611b94565b905060008260050154826111b191906123a0565b9050806000036111d457604051632388471f60e11b815260040160405180910390fd5b808360050160008282546111e8919061235d565b92505081905550806002600082825461120191906123a0565b9091555050604080518281526020810186905233917fd95107f4584744c6c893a04c43058aadd1ce8aac8ca5d64140eaf277de6c1d57910160405180910390a26112756001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163383611cfa565b50505050565b6060600061128985856123a0565b67ffffffffffffffff8111156112a1576112a16123b3565b6040519080825280602002602001820160405280156112ca578160200160208202803683370190505b509050845b8481101561133c576001600160a01b0384166000908152600360205260409020805482908110611301576113016123c9565b906000526020600020015482878361131991906123a0565b81518110611329576113296123c9565b60209081029190910101526001016112cf565b5090505b9392505050565b6005818154811061135757600080fd5b6000918252602090912001546001600160a01b0316905081565b3360009081526020819052604090205460ff166113a05760405162461bcd60e51b81526004016104a790612318565b60006113aa61156d565b9050818110156113cd57604051632388471f60e11b815260040160405180910390fd5b60405182815233907fca1cf43de312865665f595e88f569f9d5246690c07df26e86aba01147e6d13149060200160405180910390a26114366001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163384611cfa565b5050565b6003602052816000526040600020818154811061145657600080fd5b90600052602060002001600091509150505481565b3360009081526020819052604090205460ff1661149a5760405162461bcd60e51b81526004016104a790612318565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b0316036114ec57604051630cb45c5d60e31b815260040160405180910390fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa158015611533573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611557919061250f565b90506114366001600160a01b0383163383611cfa565b6002546040516370a0823160e01b8152306004820152600091906001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a0823190602401602060405180830381865afa1580156115d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115fc919061250f565b61160691906123a0565b905090565b60006001600160a01b038a166116345760405163cbdd34cf60e01b815260040160405180910390fd5b61163e848361235d565b60000361165e5760405163c35c7a9d60e01b815260040160405180910390fd5b8863ffffffff166000036116855760405163555c2ec160e11b815260040160405180910390fd5b8763ffffffff166000036116ac5760405163cd2e61c160e01b815260040160405180910390fd5b8763ffffffff168963ffffffff1611156116d95760405163cd2e61c160e01b815260040160405180910390fd5b8263ffffffff1660000361170057604051630bfffc4160e01b815260040160405180910390fd5b8463ffffffff1660000361176b57831561172d5760405163027a165b60e31b815260040160405180910390fd5b826117388a8a612528565b6117429190612562565b63ffffffff1615611766576040516327d84aff60e01b815260040160405180910390fd5b611809565b8463ffffffff168963ffffffff16118061179157508763ffffffff168563ffffffff1610155b156117af57604051632e6ec26160e01b815260040160405180910390fd5b836000036117d05760405163027a165b60e31b815260040160405180910390fd5b826117db868a612528565b6117e59190612562565b63ffffffff1615611809576040516327d84aff60e01b815260040160405180910390fd5b60006040518061016001604052808c6001600160a01b031681526020018b63ffffffff1681526020018a63ffffffff168152602001600063ffffffff1681526020018963ffffffff1681526020018563ffffffff1681526020018763ffffffff16815260200188815260200186815260200184815260200160008152509050600061189382611d2f565b905061189e81610729565b6020015163ffffffff16156118c957604051633dbedca760e01b8152600481018290526024016104a7565b6001600160a01b038c1660009081526003602052604090205461193257600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00180546001600160a01b0319166001600160a01b038e161790555b816004600083815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160000160146101000a81548163ffffffff021916908363ffffffff16021790555060408201518160000160186101000a81548163ffffffff021916908363ffffffff160217905550606082015181600001601c6101000a81548163ffffffff021916908363ffffffff16021790555060808201518160010160006101000a81548163ffffffff021916908363ffffffff16021790555060a08201518160010160046101000a81548163ffffffff021916908363ffffffff16021790555060c08201518160010160086101000a81548163ffffffff021916908363ffffffff16021790555060e08201518160020155610100820151816003015561012082015181600401556101408201518160050155905050600360008d6001600160a01b03166001600160a01b031681526020019081526020016000208190806001815401808255809150506001900390600052602060002001600090919091909150558b6001600160a01b03167fec5983152f6c11c66222fe210b6341647966bf34d15c564c03251b2a254e21728284604051611b12929190612585565b60405180910390a29b9a5050505050505050505050565b6040516001600160a01b03808516602483015283166044820152606481018290526112759085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611d5f565b6000826060015163ffffffff16600014611bc857826060015163ffffffff168263ffffffff161115611bc857826060015191505b6000836040015163ffffffff168363ffffffff161115611bea57836040015192505b8360c0015163ffffffff168363ffffffff1610611c1457610100840151611c11908261235d565b90505b60e084015115611c305760e0840151611c2d908261235d565b90505b60008460c0015163ffffffff16600014611c55575060c084015163ffffffff16611c62565b50602084015163ffffffff165b808463ffffffff1611156108f6576000611c828263ffffffff87166123a0565b60a087015190915060009063ffffffff16611c9d818461259a565b611ca791906125ae565b9050600083886040015163ffffffff16611cc191906123a0565b9050600081838a6101200151611cd791906125ae565b611ce1919061259a565b9050611ced818761235d565b9998505050505050505050565b6040516001600160a01b038316602482015260448101829052611d2a90849063a9059cbb60e01b90606401611b5d565b505050565b600081604051602001611d4291906121c7565b604051602081830303815290604052805190602001209050919050565b6000611db4826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611e349092919063ffffffff16565b9050805160001480611dd5575080806020019051810190611dd591906125c5565b611d2a5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016104a7565b6060611e438484600085611e4b565b949350505050565b606082471015611eac5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016104a7565b600080866001600160a01b03168587604051611ec89190612606565b60006040518083038185875af1925050503d8060008114611f05576040519150601f19603f3d011682016040523d82523d6000602084013e611f0a565b606091505b5091509150611f1b87838387611f26565b979650505050505050565b60608315611f95578251600003611f8e576001600160a01b0385163b611f8e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104a7565b5081611e43565b611e438383815115611faa5781518083602001fd5b8060405162461bcd60e51b81526004016104a79190612622565b80356001600160a01b0381168114610d3357600080fd5b600060208284031215611fed57600080fd5b61134082611fc4565b60006020828403121561200857600080fd5b5035919050565b803563ffffffff81168114610d3357600080fd5b60008060008060008060008060006101208a8c03121561204257600080fd5b61204b8a611fc4565b985061205960208b0161200f565b975061206760408b0161200f565b965061207560608b0161200f565b955060808a0135945061208a60a08b0161200f565b935060c08a0135925061209f60e08b0161200f565b91506101008a013590509295985092959850929598565b80151581146120c457600080fd5b50565b600080604083850312156120da57600080fd5b6120e383611fc4565b915060208301356120f3816120b6565b809150509250929050565b80516001600160a01b031682526020810151612122602084018263ffffffff169052565b50604081015161213a604084018263ffffffff169052565b506060810151612152606084018263ffffffff169052565b50608081015161216a608084018263ffffffff169052565b5060a081015161218260a084018263ffffffff169052565b5060c081015161219a60c084018263ffffffff169052565b5060e081810151908301526101008082015190830152610120808201519083015261014090810151910152565b61016081016108fa82846120fe565b600080604083850312156121e957600080fd5b50508035926020909101359150565b6020808252825182820181905260009190848201906040850190845b818110156122395783516001600160a01b031683529284019291840191600101612214565b50909695505050505050565b60006020828403121561225757600080fd5b813567ffffffffffffffff81111561226e57600080fd5b8201610120818503121561134057600080fd5b6020808252825182820181905260009190848201906040850190845b818110156122395783518352928401929184019160010161229d565b6000806000606084860312156122ce57600080fd5b83359250602084013591506122e560408501611fc4565b90509250925092565b6000806040838503121561230157600080fd5b61230a83611fc4565b946020939093013593505050565b602080825260159082015274105113525397d050d0d154d4d7d491545552549151605a1b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b808201808211156108fa576108fa612347565b60006001820161238257612382612347565b5060010190565b60008161239857612398612347565b506000190190565b818103818111156108fa576108fa612347565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6000808335601e198436030181126123f657600080fd5b83018035915067ffffffffffffffff82111561241157600080fd5b6020019150600581901b360382131561242957600080fd5b9250929050565b60006020828403121561244257600080fd5b6113408261200f565b82815281546001600160a01b038116602083015261018082019063ffffffff60a082901c8116604085015261248d60608501828460c01c1663ffffffff169052565b60e082901c6080850152600185015463ffffffff8282161660a086015291506124c360c08501828460201c1663ffffffff169052565b6124da60e08501828460401c1663ffffffff169052565b505060028301546101008301526003830154610120830152600483015461014083015260058301546101608301529392505050565b60006020828403121561252157600080fd5b5051919050565b63ffffffff82811682821603908082111561254557612545612347565b5092915050565b634e487b7160e01b600052601260045260246000fd5b600063ffffffff808416806125795761257961254c565b92169190910692915050565b828152610180810161134060208301846120fe565b6000826125a9576125a961254c565b500490565b80820281158282048414176108fa576108fa612347565b6000602082840312156125d757600080fd5b8151611340816120b6565b60005b838110156125fd5781810151838201526020016125e5565b50506000910152565b600082516126188184602087016125e2565b9190910192915050565b60208152600082518060208401526126418160408501602087016125e2565b601f01601f1916919091016040019291505056fea264697066735822122021bdba61f5bb09323ecae09641f7cac6c762cb3eb35e60ac85eb580aaafdcfdd64736f6c634300081200330000000000000000000000000001a500a6b18995b03f44bb040a5ffc28e45cb0