0 txs
1 call
constructor
constructor(address _vestedToken, string _name, uint40 _startDateAt, uint16 _claimableAtStart, (uint32 rate, uint40 endAt, uint32 minimumClaimablePeriod)[] _phases, uint32 _refundGracePeriodDuration) payable
functions
BASIS_POINT_RATE_CONVERTER
viewfunction BASIS_POINT_RATE_CONVERTER() view returns (uint128)
claimable
viewfunction claimable(address _user) view returns (uint256 amount)
claimableAtStart
viewfunction claimableAtStart() view returns (uint16)
getDepositedAmount
viewfunction getDepositedAmount() view returns (uint256 amount)
getNumberOfRefundRequestedUsersAtLeastOnce
viewfunction getNumberOfRefundRequestedUsersAtLeastOnce() view returns (uint256)
getRefundRequestedUsersAtLeastOnceVesting
viewfunction getRefundRequestedUsersAtLeastOnceVesting(uint256 index) view returns (tuple userVesting)
getUserVesting
viewfunction getUserVesting(address _userAddress) view returns (tuple)
MAX_ALLOWED_PHASES
viewfunction MAX_ALLOWED_PHASES() view returns (uint256)
name
viewfunction name() view returns (string)
nextBatchAt
viewfunction nextBatchAt() view returns (uint256)
owner
viewfunction owner() view returns (address)
phases
viewfunction phases(uint256) view returns (uint32 rate, uint40 endAt, uint32 minimumClaimablePeriod)
refundGracePeriodDuration
viewfunction refundGracePeriodDuration() view returns (uint32)
refundMode
viewfunction refundMode() view returns (bool)
refundRequestedUsersAtLeastOnce
viewfunction refundRequestedUsersAtLeastOnce(uint256) view returns (address)
refundWithdrawn
viewfunction refundWithdrawn() view returns (bool)
requestedRefundWithdrawn
viewfunction requestedRefundWithdrawn() view returns (bool)
startDateAt
viewfunction startDateAt() view returns (uint40)
totalAmountAllocated
viewfunction totalAmountAllocated() view returns (uint256)
totalAmountClaimed
viewfunction totalAmountClaimed() view returns (uint256)
totalAmountRefundRequested
viewfunction totalAmountRefundRequested() view returns (uint256)
vestedToken
viewfunction vestedToken() view returns (address)
vestingEndAt
viewfunction vestingEndAt() view returns (uint40)
vestings
viewfunction vestings(address) view returns (uint40 lastClaimAt, bool init, bool requestedRefund, uint256 amount, uint256 amountClaimed)
claim
nonpayablefunction claim()
createVestings
nonpayablefunction createVestings(tuple[] vestingsInput, bool depositCheck)
emergencyWithdrawToken
nonpayablefunction emergencyWithdrawToken(address token)
moveVesting
nonpayablefunction moveVesting(address from, address to)
pullBackRequestRefund
nonpayablefunction pullBackRequestRefund()
reinitialize
nonpayablefunction reinitialize(address _vestedToken, string _name, uint40 _startDateAt, uint16 _claimableAtStart, tuple[] _phases, uint32 _refundGracePeriodDuration)
renounceOwnership
nonpayablefunction renounceOwnership()
requestRefund
nonpayablefunction requestRefund()
setRefundMode
nonpayablefunction setRefundMode(bool _refundMode)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawRefundForAll
nonpayablefunction withdrawRefundForAll()
withdrawRequestRefundToken
nonpayablefunction withdrawRequestRefundToken()
events
NewClaim
event NewClaim(address indexed user, uint256 amountClaimed)
NewVestingCreated
event NewVestingCreated(address indexed user, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RefundForAllWithdrawn
event RefundForAllWithdrawn(address indexed user, uint256 amount)
RefundRequested
event RefundRequested(address indexed user)
RefundRequestedPulledBack
event RefundRequestedPulledBack(address indexed user)
RefundRequestedWithdrawn
event RefundRequestedWithdrawn(address indexed user, uint256 amount)
errors
No errors.
creation bytecode
0x608060405260405162003889380380620038898339810160408190526200002691620005d8565b620000313362000051565b6001805562000045868686868686620000a1565b505050505050620008c8565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b601e82511115620000f95760405162461bcd60e51b815260206004820152601f60248201527f7068617365732073697a652065786365656473206d617820616c6c6f7765640060448201526064015b60405180910390fd5b64ffffffffff841661ffff841660005b8451811015620001b35760008582815181106200012a576200012a6200070d565b6020026020010151905083816020015164ffffffffff1611620001855760405162461bcd60e51b81526020600482015260126024820152711c1a185cd95cc81b9bdd081bdc99195c995960721b6044820152606401620000f0565b8051620001999063ffffffff168462000739565b60209091015164ffffffffff169350915060010162000109565b506127108114620001f85760405162461bcd60e51b815260206004820152600e60248201526d0746f74616c203d3d2031303030360941b6044820152606401620000f0565b6001600160a01b038816620002505760405162461bcd60e51b815260206004820152601c60248201527f76657374746564546f6b656e2061646472657373206973207a65726f000000006044820152606401620000f0565b60026200025e8882620007e6565b50600480546001600160a01b0319166001600160a01b038a161790556003805467ffffffffff0000001916630100000064ffffffffff8916021790558351620002a85785620002d9565b8360018551620002b99190620008b2565b81518110620002cc57620002cc6200070d565b6020026020010151602001515b6003805466ffffffffffffff60401b19166801000000000000000064ffffffffff939093169290920261ffff60681b1916919091176d010000000000000000000000000061ffff881602179055620003346008600062000405565b60005b8451811015620003d65760088582815181106200035857620003586200070d565b6020908102919091018101518254600181810185556000948552938390208251910180549383015160409093015163ffffffff90811669010000000000000000000263ffffffff60481b1964ffffffffff909516640100000000026001600160481b0319909616919093161793909317919091161790550162000337565b50506003805463ffffffff909316600160781b0263ffffffff60781b1990931692909217909155505050505050565b508054600082559060005260206000209081019062000425919062000428565b50565b5b80821115620004495780546001600160681b031916815560010162000429565b5090565b634e487b7160e01b600052604160045260246000fd5b604051606081016001600160401b03811182821017156200048857620004886200044d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715620004b957620004b96200044d565b604052919050565b805164ffffffffff81168114620004d757600080fd5b919050565b805161ffff81168114620004d757600080fd5b805163ffffffff81168114620004d757600080fd5b600082601f8301126200051657600080fd5b815160206001600160401b038211156200053457620005346200044d565b62000544818360051b016200048e565b828152606092830285018201928282019190878511156200056457600080fd5b8387015b85811015620005cb5781818a031215620005825760008081fd5b6200058c62000463565b6200059782620004ef565b8152620005a6868301620004c1565b868201526040620005b9818401620004ef565b90820152845292840192810162000568565b5090979650505050505050565b60008060008060008060c08789031215620005f257600080fd5b86516001600160a01b03811681146200060a57600080fd5b602088810151919750906001600160401b03808211156200062a57600080fd5b818a0191508a601f8301126200063f57600080fd5b8151818111156200065457620006546200044d565b62000668601f8201601f191685016200048e565b8181528c858386010111156200067d57600080fd5b60005b828110156200069d57848101860151828201870152850162000680565b5060008583830101528099505050620006b960408b01620004c1565b9650620006c960608b01620004dc565b955060808a0151925080831115620006e057600080fd5b5050620006f089828a0162000504565b9250506200070160a08801620004ef565b90509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156200074f576200074f62000723565b92915050565b600181811c908216806200076a57607f821691505b6020821081036200078b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007e1576000816000526020600020601f850160051c81016020861015620007bc5750805b601f850160051c820191505b81811015620007dd57828155600101620007c8565b5050505b505050565b81516001600160401b038111156200080257620008026200044d565b6200081a8162000813845462000755565b8462000791565b602080601f831160018114620008525760008415620008395750858301515b600019600386901b1c1916600185901b178555620007dd565b600085815260208120601f198616915b82811015620008835788860151825594840194600190910190840162000862565b5085821015620008a25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156200074f576200074f62000723565b612fb180620008d86000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c8063918f24d411610125578063d5cef133116100ad578063e44a05af1161007c578063e44a05af146105e5578063e8aba58e146105f8578063f2fde38b14610605578063f63f2cae14610618578063f843664a1461062b57600080fd5b8063d5cef13314610542578063d5ffd1921461054a578063daf4986314610552578063dc82d0f7146105d257600080fd5b8063afe7bf37116100f4578063afe7bf37146104ea578063b6c97a5114610516578063be3d1afb1461051e578063bfa5e13c14610531578063d29af10d1461053a57600080fd5b8063918f24d41461041a5780639feee45414610432578063a7637c9a146104da578063a7d52cc9146104e257600080fd5b80634355c32c116101a8578063684e79dd11610177578063684e79dd1461039e57806370c4b1f1146103c0578063715018a6146103d35780638a4113d7146103db5780638da5cb5b1461040957600080fd5b80634355c32c146103715780634e71d92d1461037a578063549c1a35146103825780635de297411461038b57600080fd5b80632a6e5aac116101ef5780632a6e5aac1461027d5780632b24014c146102dd5780632e37eef614610308578063322ba9f314610348578063402914f51461035e57600080fd5b806306fdde0314610221578063124a27541461023f578063182f2ae8146102605780631af032031461026a575b600080fd5b610229610653565b60405161023691906127bb565b60405180910390f35b61024861271081565b6040516001600160801b039091168152602001610236565b6102686106e1565b005b610268610278366004612803565b6108b9565b61029061028b366004612820565b610941565b6040516102369190600060a08201905064ffffffffff8351168252602083015115156020830152604083015115156040830152606083015160608301526080830151608083015292915050565b6102f06102eb366004612820565b6109fb565b6040516001600160a01b039091168152602001610236565b61031b610316366004612820565b610a25565b6040805163ffffffff948516815264ffffffffff9093166020840152921691810191909152606001610236565b610350610a66565b604051908152602001610236565b61035061036c366004612803565b610add565b61035060075481565b610268610b6e565b61035060055481565b6004546102f0906001600160a01b031681565b6003546103b090610100900460ff1681565b6040519015158152602001610236565b6102686103ce366004612839565b610e81565b61026861114d565b6003546103f3906301000000900464ffffffffff1681565b60405164ffffffffff9091168152602001610236565b6000546001600160a01b03166102f0565b6003546103f390600160401b900464ffffffffff1681565b610290610440366004612803565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506001600160a01b0316600090815260096020908152604091829020825160a081018452815464ffffffffff8116825260ff600160281b82048116151594830194909452600160301b900490921615159282019290925260018201546060820152600290910154608082015290565b61026861115f565b600a54610350565b60035461050190600160781b900463ffffffff1681565b60405163ffffffff9091168152602001610236565b610350601e81565b61026861052c366004612880565b6112cc565b61035060065481565b6103506112e7565b610268611472565b610268611685565b61059c610560366004612803565b60096020526000908152604090208054600182015460029092015464ffffffffff82169260ff600160281b8404811693600160301b9004169185565b6040805164ffffffffff90961686529315156020860152911515928401929092526060830191909152608082015260a001610236565b6003546103b09062010000900460ff1681565b6102686105f336600461289d565b61186f565b6003546103b09060ff1681565b610268610613366004612803565b611a69565b610268610626366004612a96565b611adf565b60035461064090600160681b900461ffff1681565b60405161ffff9091168152602001610236565b6002805461066090612b92565b80601f016020809104026020016040519081016040528092919081815260200182805461068c90612b92565b80156106d95780601f106106ae576101008083540402835291602001916106d9565b820191906000526020600020905b8154815290600101906020018083116106bc57829003601f168201915b505050505081565b6106e9611b3d565b3360008181526009602052604090208054600160281b900460ff166107295760405162461bcd60e51b815260040161072090612bcc565b60405180910390fd5b6002810154156107725760405162461bcd60e51b81526020600482015260146024820152731d5cd95c88185b1c9958591e4818db185a5b595960621b6044820152606401610720565b8054600160301b900460ff166107c05760405162461bcd60e51b81526020600482015260136024820152726e6f7468696e20746f2070756c6c206261636b60681b6044820152606401610720565b6003546107e890600160781b810463ffffffff16906301000000900464ffffffffff16612c19565b64ffffffffff164211156108355760405162461bcd60e51b81526020600482015260146024820152731c99599d5b99081c195c9a5bd9081c185cdcd95960621b6044820152606401610720565b805460ff60301b19168155600181015460078054600090610857908490612c3e565b9091555050600181015460058054600090610873908490612c51565b90915550506040516001600160a01b038316907f417be750e991ea3d9fe3542a9c620e0f2d10e00a47f6957b2925b5bde3bd619390600090a250506108b760018055565b565b6108c1611b96565b61093e336040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610909573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061092d9190612c64565b6001600160a01b0384169190611bf0565b50565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101919091526000600a838154811061098157610981612c7d565b60009182526020808320909101546001600160a01b0316825260098152604091829020825160a081018452815464ffffffffff8116825260ff600160281b82048116151594830194909452600160301b90049092161515928201929092526001820154606082015260029091015460808201529392505050565b600a8181548110610a0b57600080fd5b6000918252602090912001546001600160a01b0316905081565b60088181548110610a3557600080fd5b60009182526020909120015463ffffffff808216925064ffffffffff64010000000083041691600160481b90041683565b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610ab4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad89190612c64565b905090565b60035460009060ff1615610af357506000919050565b6001600160a01b038216600090815260096020908152604091829020825160a081018452815464ffffffffff8116825260ff600160281b82048116151594830194909452600160301b9004909216151592820192909252600182015460608201526002909101546080820152610b6890611c47565b92915050565b610b76611b3d565b60035460ff1615610bbf5760405162461bcd60e51b81526020600482015260136024820152721d995cdd1a5b99c81a5cc81c99599d5b991959606a1b6044820152606401610720565b3360008181526009602052604090208054600160301b900460ff1615610c195760405162461bcd60e51b815260206004820152600f60248201526e1d5cd95c881c995c481c99599d5b99608a1b6044820152606401610720565b8054600160281b900460ff16610c415760405162461bcd60e51b815260040161072090612bcc565b600081600201548260010154610c579190612c3e565b11610c995760405162461bcd60e51b8152602060048201526012602482015271185b1b08185b5bdd5b9d0818db185a5b595960721b6044820152606401610720565b6040805160a081018252825464ffffffffff8116825260ff600160281b8204811615156020840152600160301b909104161515918101919091526001820154606082015260028201546080820152600090610cf390611c47565b905080610cfe610a66565b1015610d585760405162461bcd60e51b8152602060048201526024808201527f6e6f7420656e6f75676820746f6b656e206465706f736974656420666f7220636044820152636c61696d60e01b6064820152608401610720565b60008111610da85760405162461bcd60e51b815260206004820152601a60248201527f6e6f7468696e6720746f20636c61696d2063757272656e746c790000000000006044820152606401610720565b8060066000828254610dba9190612c51565b9250508190555080826002016000828254610dd59190612c51565b9091555050815464ffffffffff19164264ffffffffff16178255600182015460028301541115610e0757610e07612c93565b6005546006541115610e1b57610e1b612c93565b600454610e32906001600160a01b03168483611bf0565b826001600160a01b03167f081144d27d70f1f67f67a65289dde411e1a9511c916d13ee3ff9bf22f169cd9a82604051610e6d91815260200190565b60405180910390a25050506108b760018055565b610e89611b96565b6001600160a01b038216600090815260096020908152604091829020825160a081018452815464ffffffffff8116825260ff600160281b820481161515948301859052600160301b9091041615159381019390935260018101546060840152600201546080830152610f3d5760405162461bcd60e51b815260206004820152601860248201527f6066726f6d60206e6f206163746976652076657374696e6700000000000000006044820152606401610720565b600081608001518260600151610f539190612c3e565b11610fa05760405162461bcd60e51b815260206004820152601960248201527f6066726f6d6020616c6c20616d6f756e7420636c61696d6564000000000000006044820152606401610720565b6001600160a01b038216600090815260096020908152604091829020825160a081018452815464ffffffffff8116825260ff600160281b8204811615801595840195909552600160301b90910416151593810193909352600181015460608401526002015460808301526110565760405162461bcd60e51b815260206004820152601b60248201527f60746f60206861732072656769737465726564206c697374696e6700000000006044820152606401610720565b6001600160a01b0383166110ac5760405162461bcd60e51b815260206004820152601760248201527f60746f60206d757374206e6f74206265203020616464720000000000000000006044820152606401610720565b506001600160a01b0391821660009081526009602090815260408083208451815493860151838701511515600160301b0260ff60301b19911515600160281b0265ffffffffffff1990961664ffffffffff9093169290921794909417939093169290921782556060840151600180840191909155608090940151600292830155949093168152928320805466ffffffffffffff191681559081018390550155565b611155611b96565b6108b76000611f3f565b611167611b96565b60035462010000900460ff16156111b45760405162461bcd60e51b815260206004820152601160248201527030b63932b0b23c903bb4ba34323930bbb760791b6044820152606401610720565b60035460ff166111fb5760405162461bcd60e51b81526020600482015260126024820152713932b33ab7321036b7b2329034b99037b33360711b6044820152606401610720565b6003805462ff0000191662010000179055600480546040516370a0823160e01b815230928101929092526112929133916001600160a01b0316906370a0823190602401602060405180830381865afa15801561125b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061127f9190612c64565b6004546001600160a01b03169190611bf0565b60075460405190815233907f64934b8ce5d50616ab8d2e7fd8bfb458cf1ce270d4ce1e62bb8a05057f10df1c9060200160405180910390a2565b6112d4611b96565b6003805460ff1916911515919091179055565b600354600090600160401b900464ffffffffff1642106113165750600354600160401b900464ffffffffff1690565b6003546301000000900464ffffffffff1642101561134357506003546301000000900464ffffffffff1690565b6003546000906301000000900464ffffffffff16815b8142111561146a5760006008828154811061137657611376612c7d565b600091825260209182902060408051606081018252929091015463ffffffff8082168452640100000000820464ffffffffff16948401859052600160481b90910416908201529150421161144b57806040015163ffffffff166001036113df5760019350611445565b806040015163ffffffff1660000361140457806020015164ffffffffff169350611445565b604081015163ffffffff166114198442612c3e565b6114239190612cbf565b60408201516114389063ffffffff1642612c51565b6114429190612c3e565b93505b5061146a565b6020015164ffffffffff1691508061146281612cd3565b915050611359565b509092915050565b61147a611b3d565b3360008181526009602052604090208054600160281b900460ff166114b15760405162461bcd60e51b815260040161072090612bcc565b8054600160301b900460ff16156114fe5760405162461bcd60e51b8152602060048201526011602482015270185b1c9958591e481c995c5d595cdd1959607a1b6044820152606401610720565b6002810154156115475760405162461bcd60e51b81526020600482015260146024820152731d5cd95c88185b1c9958591e4818db185a5b595960621b6044820152606401610720565b60035461156f90600160781b810463ffffffff16906301000000900464ffffffffff16612c19565b64ffffffffff164211156115bc5760405162461bcd60e51b81526020600482015260146024820152731c99599d5b99081c195c9a5bd9081c185cdcd95960621b6044820152606401610720565b805460ff60301b1916600160301b1781556001810154600780546000906115e4908490612c51565b9091555050600181015460058054600090611600908490612c3e565b9091555050600a805460018101825560009182527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a80180546001600160a01b0319166001600160a01b03851690811790915560405190917f7fcea13fa52052e10e2a2ae5f7edf34eb7a59dd5778244bca78f8f0c6866bfbe91a250506108b760018055565b61168d611b96565b600354610100900460ff16156116d95760405162461bcd60e51b815260206004820152601160248201527030b63932b0b23c903bb4ba34323930bbb760791b6044820152606401610720565b60035461170190600160781b810463ffffffff16906301000000900464ffffffffff16612c19565b64ffffffffff16421161174d5760405162461bcd60e51b8152602060048201526014602482015273726566756e6420706572696f642061637469766560601b6044820152606401610720565b600480546040516370a0823160e01b815230928101929092526000916001600160a01b03909116906370a0823190602401602060405180830381865afa15801561179b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117bf9190612c64565b90506007548110156118075760405162461bcd60e51b81526020600482015260116024820152706e6f7420656e6f75676820746f6b656e7360781b6044820152606401610720565b6003805461ff001916610100179055600754600454611833916001600160a01b03909116903390611bf0565b60075460405190815233907f88c24254769936ac40e24c2fdd2c5a2dbc823efeb5bf25211513e7e6cbb06ef4906020015b60405180910390a250565b611877611b96565b816118ba5760405162461bcd60e51b815260206004820152601360248201527276657374696e6773496e70757420656d70747960681b6044820152606401610720565b6003546301000000900464ffffffffff16421061190b5760405162461bcd60e51b815260206004820152600f60248201526e1d995cdd1a5b99c81cdd185c9d1959608a1b6044820152606401610720565b6000611915610a66565b90506000805b67ffffffffffffffff81168511156119885785858267ffffffffffffffff1681811061194957611949612c7d565b90506040020160200160208101906119619190612d03565b611974906001600160801b031683612c51565b91508061198081612d1e565b91505061191b565b508215611a00576000600554600654846119a29190612c51565b6119ac9190612c3e565b9050818110156119fe5760405162461bcd60e51b815260206004820152601a60248201527f6e6f7420656e6f75676820746f6b656e206465706f73697465640000000000006044820152606401610720565b505b60005b67ffffffffffffffff8116851115611a6157611a4f86868367ffffffffffffffff16818110611a3457611a34612c7d565b905060400201803603810190611a4a9190612d45565b611f8f565b80611a5981612d1e565b915050611a03565b505050505050565b611a71611b96565b6001600160a01b038116611ad65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610720565b61093e81611f3f565b611ae7611b96565b60065415611b2f5760405162461bcd60e51b815260206004820152601560248201527418db185a5b48185b1c9958591e481cdd185c9d1959605a1b6044820152606401610720565b611a61868686868686612192565b600260015403611b8f5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610720565b6002600155565b6000546001600160a01b031633146108b75760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610720565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611c429084906124cb565b505050565b60035460009060ff1680611c5c575081604001515b15611c6957506000919050565b6003546301000000900464ffffffffff16421015611c8957506000919050565b600082608001518360600151611c9f9190612c3e565b905080600003611cb25750600092915050565b600354600160401b900464ffffffffff164210611cd157809150611f2e565b825164ffffffffff16600003611d1857606083015160035461271091611d0191600160681b900461ffff16612da2565b611d0b9190612db9565b611d159083612c51565b91505b6003546301000000900464ffffffffff1660005b600854811015611f2b57600060088281548110611d4b57611d4b612c7d565b6000918252602080832060408051606081018252939091015463ffffffff8082168552640100000000820464ffffffffff16938501849052600160481b9091041690830152909250611d9e908590612c3e565b9050816020015164ffffffffff16876000015164ffffffffff161015611f1557816020015164ffffffffff164210158015611de15750604082015163ffffffff16155b15611e1e578151606088015161271091611e039163ffffffff90911690612da2565b611e0d9190612db9565b611e179087612c51565b9550611efb565b604082015163ffffffff1615611efb576000611e45886000015164ffffffffff16866125a0565b90506000611e5e42856020015164ffffffffff166125b6565b90506000846040015163ffffffff168383611e799190612dcd565b611e839190612deb565b611e8d8484612dcd565b611e979190612dcd565b9050611eac61271064ffffffffff8616612e0f565b6001600160801b03168164ffffffffff16866000015163ffffffff168c60600151611ed79190612da2565b611ee19190612da2565b611eeb9190612db9565b611ef5908a612c51565b98505050505b816020015164ffffffffff16421015611f15575050611f2b565b506020015164ffffffffff169150600101611d2c565b50505b611f3882826125b6565b9392505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b0316611fdd5760405162461bcd60e51b8152602060048201526014602482015273757365722061646472657373206973207a65726f60601b6044820152606401610720565b600081602001516001600160801b03161161202b5760405162461bcd60e51b815260206004820152600e60248201526d616d6f756e74206973207a65726f60901b6044820152606401610720565b80516001600160a01b03166000908152600960205260409020600101541561208c5760405162461bcd60e51b815260206004820152601460248201527337b732903b32b9ba34b733903832b91030b2323960611b6044820152606401610720565b80602001516001600160801b0316600560008282546120ab9190612c51565b90915550506040805160a08101825260008082526001602080840182815284860184815287830180516001600160801b0390811660608901908152608089018881528b516001600160a01b039081168a5260098852988b902099518a54965195511515600160301b0260ff60301b19961515600160281b0265ffffffffffff1990981664ffffffffff9092169190911796909617949094169490941788559251948701949094555160029095019490945585519151945194909316845216917f1ad52506d5b39a5f36ce7518f02978bb44db2961e116f2a2d8d134cd3f43e9579101611864565b601e825111156121e45760405162461bcd60e51b815260206004820152601f60248201527f7068617365732073697a652065786365656473206d617820616c6c6f776564006044820152606401610720565b64ffffffffff841661ffff841660005b845181101561229557600085828151811061221157612211612c7d565b6020026020010151905083816020015164ffffffffff161161226a5760405162461bcd60e51b81526020600482015260126024820152711c1a185cd95cc81b9bdd081bdc99195c995960721b6044820152606401610720565b805161227c9063ffffffff1684612c51565b60209091015164ffffffffff16935091506001016121f4565b5061271081146122d85760405162461bcd60e51b815260206004820152600e60248201526d0746f74616c203d3d2031303030360941b6044820152606401610720565b6001600160a01b03881661232e5760405162461bcd60e51b815260206004820152601c60248201527f76657374746564546f6b656e2061646472657373206973207a65726f000000006044820152606401610720565b600261233a8882612e82565b50600480546001600160a01b0319166001600160a01b038a161790556003805467ffffffffff0000001916630100000064ffffffffff891602179055835161238257856123ae565b83600185516123919190612c3e565b815181106123a1576123a1612c7d565b6020026020010151602001515b600380546effffffffffffff00000000000000001916600160401b64ffffffffff939093169290920261ffff60681b191691909117600160681b61ffff8816021790556123fd60086000612755565b60005b845181101561249c57600885828151811061241d5761241d612c7d565b6020908102919091018101518254600181810185556000948552938390208251910180549383015160409093015163ffffffff908116600160481b026cffffffff0000000000000000001964ffffffffff9095166401000000000268ffffffffffffffffff199096169190931617939093179190911617905501612400565b50506003805463ffffffff909316600160781b0263ffffffff60781b1990931692909217909155505050505050565b6000612520826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166125c59092919063ffffffff16565b90508051600014806125415750808060200190518101906125419190612f42565b611c425760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610720565b60008183116125af5781611f38565b5090919050565b60008183106125af5781611f38565b60606125d484846000856125dc565b949350505050565b60608247101561263d5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610720565b600080866001600160a01b031685876040516126599190612f5f565b60006040518083038185875af1925050503d8060008114612696576040519150601f19603f3d011682016040523d82523d6000602084013e61269b565b606091505b50915091506126ac878383876126b7565b979650505050505050565b6060831561272657825160000361271f576001600160a01b0385163b61271f5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610720565b50816125d4565b6125d4838381511561273b5781518083602001fd5b8060405162461bcd60e51b815260040161072091906127bb565b508054600082559060005260206000209081019061093e91905b808211156127935780546cffffffffffffffffffffffffff1916815560010161276f565b5090565b60005b838110156127b257818101518382015260200161279a565b50506000910152565b60208152600082518060208401526127da816040850160208701612797565b601f01601f19169190910160400192915050565b6001600160a01b038116811461093e57600080fd5b60006020828403121561281557600080fd5b8135611f38816127ee565b60006020828403121561283257600080fd5b5035919050565b6000806040838503121561284c57600080fd5b8235612857816127ee565b91506020830135612867816127ee565b809150509250929050565b801515811461093e57600080fd5b60006020828403121561289257600080fd5b8135611f3881612872565b6000806000604084860312156128b257600080fd5b833567ffffffffffffffff808211156128ca57600080fd5b818601915086601f8301126128de57600080fd5b8135818111156128ed57600080fd5b8760208260061b850101111561290257600080fd5b6020928301955093505084013561291881612872565b809150509250925092565b634e487b7160e01b600052604160045260246000fd5b6040516060810167ffffffffffffffff8111828210171561295c5761295c612923565b60405290565b604051601f8201601f1916810167ffffffffffffffff8111828210171561298b5761298b612923565b604052919050565b803564ffffffffff811681146129a857600080fd5b919050565b803561ffff811681146129a857600080fd5b803563ffffffff811681146129a857600080fd5b600082601f8301126129e457600080fd5b8135602067ffffffffffffffff821115612a0057612a00612923565b612a0e818360051b01612962565b82815260609283028501820192828201919087851115612a2d57600080fd5b8387015b85811015612a895781818a031215612a495760008081fd5b612a51612939565b612a5a826129bf565b8152612a67868301612993565b868201526040612a788184016129bf565b908201528452928401928101612a31565b5090979650505050505050565b60008060008060008060c08789031215612aaf57600080fd5b8635612aba816127ee565b955060208781013567ffffffffffffffff80821115612ad857600080fd5b818a0191508a601f830112612aec57600080fd5b813581811115612afe57612afe612923565b612b10601f8201601f19168501612962565b8181528c85838601011115612b2457600080fd5b818585018683013760008583830101528099505050612b4560408b01612993565b9650612b5360608b016129ad565b955060808a0135925080831115612b6957600080fd5b5050612b7789828a016129d3565b925050612b8660a088016129bf565b90509295509295509295565b600181811c90821680612ba657607f821691505b602082108103612bc657634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526019908201527f75736572206973206e6f742070617274696369706174696e6700000000000000604082015260600190565b634e487b7160e01b600052601160045260246000fd5b64ffffffffff818116838216019080821115612c3757612c37612c03565b5092915050565b81810381811115610b6857610b68612c03565b80820180821115610b6857610b68612c03565b600060208284031215612c7657600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b600082612cce57612cce612ca9565b500690565b600060018201612ce557612ce5612c03565b5060010190565b80356001600160801b03811681146129a857600080fd5b600060208284031215612d1557600080fd5b611f3882612cec565b600067ffffffffffffffff808316818103612d3b57612d3b612c03565b6001019392505050565b600060408284031215612d5757600080fd5b6040516040810181811067ffffffffffffffff82111715612d7a57612d7a612923565b6040528235612d88816127ee565b8152612d9660208401612cec565b60208201529392505050565b8082028115828204841417610b6857610b68612c03565b600082612dc857612dc8612ca9565b500490565b64ffffffffff828116828216039080821115612c3757612c37612c03565b600064ffffffffff80841680612e0357612e03612ca9565b92169190910692915050565b6001600160801b03818116838216028082169190828114612e3257612e32612c03565b505092915050565b601f821115611c42576000816000526020600020601f850160051c81016020861015612e635750805b601f850160051c820191505b81811015611a6157828155600101612e6f565b815167ffffffffffffffff811115612e9c57612e9c612923565b612eb081612eaa8454612b92565b84612e3a565b602080601f831160018114612ee55760008415612ecd5750858301515b600019600386901b1c1916600185901b178555611a61565b600085815260208120601f198616915b82811015612f1457888601518255948401946001909101908401612ef5565b5085821015612f325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215612f5457600080fd5b8151611f3881612872565b60008251612f71818460208701612797565b919091019291505056fea2646970667358221220690eedbd126b9760158f7629c55e72427f47adfd19d71dce181ac98ad17dd4be64736f6c634300081700330000000000000000000000004793405c2231d8646f8ee79e120c230c574b0c4b00000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000068346cd800000000000000000000000000000000000000000000000000000000000007d00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000000000144f7264696679202d204e6f692056657374696e67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000007d000000000000000000000000000000000000000000000000000000000685d1a20000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007d0000000000000000000000000000000000000000000000000000000006884a720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007d00000000000000000000000000000000000000000000000000000000068ad85a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007d00000000000000000000000000000000000000000000000000000000068d664200000000000000000000000000000000000000000000000000000000000000000