0 txs
4.8k calls
constructor
constructor()
functions
accumulativeDividendOf
viewfunction accumulativeDividendOf(address _owner) view returns (uint256)
allowance
viewfunction allowance(address owner, address spender) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256)
claimWait
viewfunction claimWait() view returns (uint256)
decimals
viewfunction decimals() view returns (uint8)
dividendOf
viewfunction dividendOf(address _owner) view returns (uint256)
doCalculation
viewfunction doCalculation() view returns (bool)
getAccount
viewfunction getAccount(address _account) view returns (address account, int256 index, int256 iterationsUntilProcessed, uint256 withdrawableDividends, uint256 totalDividends, uint256 lastClaimTime, uint256 nextClaimTime, uint256 secondsUntilAutoClaimAvailable)
getLastProcessedIndex
viewfunction getLastProcessedIndex() view returns (uint256)
getNumberOfTokenHolders
viewfunction getNumberOfTokenHolders() view returns (uint256)
lastClaimTimes
viewfunction lastClaimTimes(address) view returns (uint256)
lastProcessedIndex
viewfunction lastProcessedIndex() view returns (uint256)
minimumTokenBalanceForDividends
viewfunction minimumTokenBalanceForDividends() view returns (uint256)
minimumTokenLimit
viewfunction minimumTokenLimit() view returns (uint256)
name
viewfunction name() view returns (string)
owner
viewfunction owner() view returns (address)
symbol
viewfunction symbol() view returns (string)
totalClaimedDividends
viewfunction totalClaimedDividends(address account) view returns (uint256)
totalDividendClaimed
viewfunction totalDividendClaimed(address account) view returns (uint256)
totalDividendsDistributed
viewfunction totalDividendsDistributed() view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
transfer
purefunction transfer(address, uint256) pure returns (bool)
transferFrom
purefunction transferFrom(address, address, uint256) pure returns (bool)
withdrawableDividendOf
viewfunction withdrawableDividendOf(address _owner) view returns (uint256)
withdrawnDividendOf
viewfunction withdrawnDividendOf(address _owner) view returns (uint256)
approve
nonpayablefunction approve(address spender, uint256 amount) returns (bool)
decreaseAllowance
nonpayablefunction decreaseAllowance(address spender, uint256 subtractedValue) returns (bool)
distributeDividends
payablefunction distributeDividends() payable
excludeFromDividends
nonpayablefunction excludeFromDividends(address account)
increaseAllowance
nonpayablefunction increaseAllowance(address spender, uint256 addedValue) returns (bool)
mintDividends
nonpayablefunction mintDividends(address[] newholders, uint256[] amounts)
process
nonpayablefunction process(uint256 gas) returns (uint256, uint256, uint256)
processAccountByDeployer
nonpayablefunction processAccountByDeployer(address account, bool automatic)
renounceOwnership
nonpayablefunction renounceOwnership()
sendEthBack
nonpayablefunction sendEthBack()
setERC20Contract
nonpayablefunction setERC20Contract(address contractAddr)
setMinimumTokenBalanceForDividends
nonpayablefunction setMinimumTokenBalanceForDividends(uint256 newMinTokenBalForDividends)
setTokenBalance
nonpayablefunction setTokenBalance(address account)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateClaimWait
nonpayablefunction updateClaimWait(uint256 newClaimWait)
withdrawDividend
nonpayablefunction withdrawDividend()
events
Approval
event Approval(address indexed owner, address indexed spender, uint256 value)
Claim
event Claim(address indexed account, uint256 amount, bool indexed automatic)
ClaimWaitUpdated
event ClaimWaitUpdated(uint256 indexed newValue, uint256 indexed oldValue)
DividendsDistributed
event DividendsDistributed(address indexed from, uint256 weiAmount)
DividendWithdrawn
event DividendWithdrawn(address indexed to, uint256 weiAmount)
ExcludeFromDividends
event ExcludeFromDividends(address indexed account)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Transfer
event Transfer(address indexed from, address indexed to, uint256 value)
updateBalance
event updateBalance(address addr, uint256 amount)
errors
No errors.
creation bytecode
0x60c0604052601660809081527f4469766964656e64547261636b6572204d6178424e420000000000000000000060a05260089061003c908261024a565b5060408051808201909152601681527f4469766964656e64547261636b6572204d6178424e4200000000000000000000602082015260099061007e908261024a565b50600a805460ff19166012179055604051610098906101a5565b604051809103905ff0801580156100b1573d5f803e3d5ffd5b50600c80546001600160a01b0319166001600160a01b0392909216919091179055600a80546100e59160ff909116906103fd565b6100f0906064610412565b600d55600e805460ff60a01b19169055610e10601155348015610111575f80fd5b5061011b33610156565b6040515f80825233917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3610429565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6104c2806125d283390190565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806101da57607f821691505b6020821081036101f857634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561024557805f5260205f20601f840160051c810160208510156102235750805b601f840160051c820191505b81811015610242575f815560010161022f565b50505b505050565b81516001600160401b03811115610263576102636101b2565b6102778161027184546101c6565b846101fe565b6020601f8211600181146102a9575f83156102925750848201515b5f19600385901b1c1916600184901b178455610242565b5f84815260208120601f198516915b828110156102d857878501518255602094850194600190920191016102b8565b50848210156102f557868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156103535780850481111561033757610337610304565b600184161561034557908102905b60019390931c92800261031c565b935093915050565b5f82610369575060016103f7565b8161037557505f6103f7565b816001811461038b5760028114610395576103b1565b60019150506103f7565b60ff8411156103a6576103a6610304565b50506001821b6103f7565b5060208310610133831016604e8410600b84101617156103d4575081810a6103f7565b6103e05f198484610318565b805f19048211156103f3576103f3610304565b0290505b92915050565b5f61040b60ff84168361035b565b9392505050565b80820281158282048414176103f7576103f7610304565b61219c806104365f395ff3fe608060405260043610610241575f3560e01c8063715018a611610134578063a9059cbb116100b3578063e0fb0f3511610078578063e0fb0f351461068f578063e7841ec0146106a3578063e98030c7146106b7578063f2fde38b146106d6578063fbcbc0f1146106f5578063ffb2c47914610759575f80fd5b8063a9059cbb146105fd578063aafd847a146104ca578063be10b61414610617578063cac8d5381461062c578063dd62ed3e1461064b575f80fd5b80638da5cb5b116100f95780638da5cb5b1461056657806391b89fba1461058c57806395d89b41146105ab578063a457c2d7146105bf578063a8b9d240146105de575f80fd5b8063715018a6146104b6578063730270b5146104ca578063804974ea146104fe57806385a6b3ae146105325780638977428214610547575f80fd5b8063313ce567116101c05780635ebf4db9116101855780635ebf4db91461042657806365e2ccb2146104455780636a474002146104595780636f2789ec1461046d57806370a0823114610482575f80fd5b8063313ce5671461038857806331e79db0146103a957806339509351146103c85780633974d3b1146103e75780633f83d72c14610406575f80fd5b806321df2b091161020657806321df2b09146102eb578063226cfa3d1461030a57806323b872dd1461033557806327ce0147146103545780633009a60914610373575f80fd5b806303c833021461025457806306fdde031461025c578063095ea7b31461028657806309bbedde146102b557806318160ddd146102d7575f80fd5b366102505761024e610793565b005b5f80fd5b61024e610793565b348015610267575f80fd5b50610270610824565b60405161027d9190611cc0565b60405180910390f35b348015610291575f80fd5b506102a56102a0366004611d09565b6108b4565b604051901515815260200161027d565b3480156102c0575f80fd5b506102c96108ca565b60405190815260200161027d565b3480156102e2575f80fd5b506007546102c9565b3480156102f6575f80fd5b5061024e610305366004611d7b565b61093a565b348015610315575f80fd5b506102c9610324366004611de7565b60106020525f908152604090205481565b348015610340575f80fd5b506102a561034f366004611e02565b610a37565b34801561035f575f80fd5b506102c961036e366004611de7565b610a97565b34801561037e575f80fd5b506102c9600f5481565b348015610393575f80fd5b50600a5460405160ff909116815260200161027d565b3480156103b4575f80fd5b5061024e6103c3366004611de7565b610af3565b3480156103d3575f80fd5b506102a56103e2366004611d09565b610b95565b3480156103f2575f80fd5b5061024e610401366004611de7565b610bcf565b348015610411575f80fd5b50600e546102a590600160a01b900460ff1681565b348015610431575f80fd5b5061024e610440366004611e40565b610df5565b348015610450575f80fd5b50600d546102c9565b348015610464575f80fd5b5061024e610e20565b348015610478575f80fd5b506102c960115481565b34801561048d575f80fd5b506102c961049c366004611de7565b6001600160a01b03165f9081526005602052604090205490565b3480156104c1575f80fd5b5061024e610e2c565b3480156104d5575f80fd5b506102c96104e4366004611de7565b6001600160a01b03165f9081526003602052604090205490565b348015610509575f80fd5b506102c9610518366004611de7565b6001600160a01b03165f9081526004602052604090205490565b34801561053d575f80fd5b506102c9600b5481565b348015610552575f80fd5b5061024e610561366004611e64565b610e3d565b348015610571575f80fd5b505f546040516001600160a01b03909116815260200161027d565b348015610597575f80fd5b506102c96105a6366004611de7565b610e4f565b3480156105b6575f80fd5b50610270610e59565b3480156105ca575f80fd5b506102a56105d9366004611d09565b610e68565b3480156105e9575f80fd5b506102c96105f8366004611de7565b610eb5565b348015610608575f80fd5b506102a561034f366004611d09565b348015610622575f80fd5b506102c9600d5481565b348015610637575f80fd5b5061024e610646366004611de7565b610ee0565b348015610656575f80fd5b506102c9610665366004611e9b565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b34801561069a575f80fd5b5061024e610f0a565b3480156106ae575f80fd5b50600f546102c9565b3480156106c2575f80fd5b5061024e6106d1366004611e40565b610f5d565b3480156106e1575f80fd5b5061024e6106f0366004611de7565b611073565b348015610700575f80fd5b5061071461070f366004611de7565b6110e9565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161027d565b348015610764575f80fd5b50610778610773366004611e40565b6112fb565b6040805193845260208401929092529082015260600161027d565b5f61079d60075490565b116107a6575f80fd5b3415610822576107d96107b860075490565b6107c634600160801b611538565b6107d09190611edb565b6001549061154a565b60015560405134815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a2600b5461081e903461154a565b600b555b565b60606008805461083390611efa565b80601f016020809104026020016040519081016040528092919081815260200182805461085f90611efa565b80156108aa5780601f10610881576101008083540402835291602001916108aa565b820191905f5260205f20905b81548152906001019060200180831161088d57829003601f168201915b5050505050905090565b5f6108c0338484611555565b5060015b92915050565b600c546040805163949d225d60e01b815290515f926001600160a01b03169163949d225d9160048083019260209291908290030181865afa158015610911573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109359190611f32565b905090565b610942611678565b5f5b83811015610a30575f85858381811061095f5761095f611f49565b90506020020160208101906109749190611de7565b600a80549192505f9161098c9160ff90911690612040565b85858581811061099e5761099e611f49565b905060200201356109af919061204e565b9050600d548110610a26576109c482826116d1565b600c54604051630704bb0560e31b81526001600160a01b0384811660048301526024820184905290911690633825d828906044015f604051808303815f87803b158015610a0f575f80fd5b505af1158015610a21573d5f803e3d5ffd5b505050505b5050600101610944565b5050505050565b60405162461bcd60e51b815260206004820152602860248201527f4e6f207472616e736665727320616c6c6f77656420696e206469766964656e64604482015267103a3930b1b5b2b960c11b60648201525f906084015b60405180910390fd5b6001600160a01b0381165f908152600260209081526040808320546005909252822054600154600160801b92610ae992610ae492610ade91610ad99190611538565b61172d565b9061173b565b611775565b6108c49190611edb565b610afb611678565b610b05815f6116d1565b600c54604051631484968760e11b81526001600160a01b038381166004830152909116906329092d0e906024015f604051808303815f87803b158015610b49575f80fd5b505af1158015610b5b573d5f803e3d5ffd5b50506040516001600160a01b03841692507fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b2591505f90a250565b335f8181526006602090815260408083206001600160a01b038716845290915281205490916108c0918590610bca908661154a565b611555565b600e546040516370a0823160e01b81526001600160a01b0383811660048301525f9216906370a0823190602401602060405180830381865afa158015610c17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c3b9190611f32565b600e54604051630e83227360e01b81526001600160a01b038581166004830152929350911690630e83227390602401602060405180830381865afa158015610c85573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ca99190612065565b610d6357600d548110610d2757610cc082826116d1565b600c54604051630704bb0560e31b81526001600160a01b0384811660048301526024820184905290911690633825d828906044015b5f604051808303815f87803b158015610d0c575f80fd5b505af1158015610d1e573d5f803e3d5ffd5b50505050610de5565b610d31825f6116d1565b600c54604051631484968760e11b81526001600160a01b038481166004830152909116906329092d0e90602401610cf5565b6001600160a01b0382165f9081526005602052604090205415610de557610d8a825f6116d1565b600c54604051631484968760e11b81526001600160a01b038481166004830152909116906329092d0e906024015f604051808303815f87803b158015610dce575f80fd5b505af1158015610de0573d5f803e3d5ffd5b505050505b610df0826001611786565b505050565b610dfd611678565b600a8054610e109160ff90911690612040565b610e1a908261204e565b600d5550565b610e293361182c565b50565b610e34611678565b6108225f611968565b610e45611678565b610df08282611786565b5f6108c482610eb5565b60606009805461083390611efa565b5f6108c03384610bca8560405180606001604052806025815260200161214260259139335f9081526006602090815260408083206001600160a01b038d16845290915290205491906119b7565b6001600160a01b0381165f908152600360205260408120546108c490610eda84610a97565b906119e2565b610ee8611678565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b610f12611678565b47610f245f546001600160a01b031690565b6001600160a01b03166108fc8290811502906040515f60405180830381858888f19350505050158015610f59573d5f803e3d5ffd5b5050565b610f65611678565b610e108110158015610f7a5750620151808111155b610fe25760405162461bcd60e51b815260206004820152603360248201527f436c61696d57616974206d757374206265207570646174656420746f206265746044820152727765656e203120616e6420323420686f75727360681b6064820152608401610a8e565b60115481036110415760405162461bcd60e51b815260206004820152602560248201527f43616e6e6f742075706461746520636c61696d5761697420746f2073616d652060448201526476616c756560d81b6064820152608401610a8e565b60115460405182907f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f905f90a3601155565b61107b611678565b6001600160a01b0381166110e05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a8e565b610e2981611968565b600c5460405163564c8d1160e01b81526001600160a01b03808416600483015283925f9283928392839283928392839291169063564c8d1190602401602060405180830381865afa158015611140573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111649190611f32565b96505f1995505f871261128b57600f5487111561119057600f546111899088906119ed565b955061128b565b600f54600c546040805163949d225d60e01b815290515f93926001600160a01b03169163949d225d9160048083019260209291908290030181865afa1580156111db573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111ff9190611f32565b1161120a575f61127b565b600f54600c546040805163949d225d60e01b8152905161127b93926001600160a01b03169163949d225d9160048083019260209291908290030181865afa158015611257573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610eda9190611f32565b9050611287888261173b565b9650505b61129488610eb5565b945061129f88610a97565b6001600160a01b0389165f908152601060205260409020549094509250826112c7575f6112d5565b6011546112d590849061154a565b91504282116112e4575f6112ee565b6112ee82426119e2565b9050919395975091939597565b5f805f80600c5f9054906101000a90046001600160a01b03166001600160a01b031663949d225d6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561134f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906113739190611f32565b9050805f0361138c575050600f545f9250829150611531565b600f545f805a90505f805b89841080156113a557508582105b1561152057846113b481612080565b955050600c5f9054906101000a90046001600160a01b03166001600160a01b031663949d225d6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611407573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061142b9190611f32565b8510611435575f94505b600c5460405163198c0deb60e21b8152600481018790525f916001600160a01b03169063663037ac90602401602060405180830381865afa15801561147c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114a09190612098565b6001600160a01b0381165f908152601060205260409020549091506114c490611a26565b156114e7576114d4816001611786565b156114e757816114e381612080565b9250505b826114f181612080565b9350505f5a9050808511156115175761151461150d86836119e2565b879061154a565b95505b93506113979050565b600f85905590975095509193505050505b9193909250565b5f611543828461204e565b9392505050565b5f61154382846120b3565b6001600160a01b0383166115b75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a8e565b6001600160a01b0382166116185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a8e565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f546001600160a01b031633146108225760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a8e565b6001600160a01b0382165f908152600560205260409020548082111561170e575f6116fc83836119e2565b90506117088482611a4b565b50505050565b80821015610df0575f61172182846119e2565b90506117088482611b83565b5f81818112156108c4575f80fd5b5f8061174783856120c6565b90505f83121580156117595750838112155b8061176d57505f8312801561176d57508381125b611543575f80fd5b5f80821215611782575f80fd5b5090565b5f806117918461182c565b90508015611823576001600160a01b0384165f908152600460205260409020546117bb828261154a565b6001600160a01b0386165f8181526004602090815260408083209490945560108152908390204290559151848152861515927fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf092910160405180910390a36001925050506108c4565b505f9392505050565b5f8061183783610eb5565b90508015611960576001600160a01b0383165f90815260036020526040902054611861908261154a565b6001600160a01b0384165f81815260036020526040908190209290925590517fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d906118af9084815260200190565b60405180910390a25f836001600160a01b031682610bb8906040515f60405180830381858888f193505050503d805f8114611905576040519150601f19603f3d011682016040523d82523d5f602084013e61190a565b606091505b5050905080611959576001600160a01b0384165f9081526003602052604090205461193590836119e2565b6001600160a01b039094165f90815260036020526040812094909455509192915050565b5092915050565b505f92915050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f81848411156119da5760405162461bcd60e51b8152600401610a8e9190611cc0565b505050900390565b5f61154382846120ed565b5f806119f98385612100565b90505f8312158015611a0b5750838113155b8061176d57505f8312801561176d5750838113611543575f80fd5b5f42821115611a3657505f919050565b601154611a4342846119e2565b101592915050565b6001600160a01b038216611aa15760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a8e565b600754611aae908261154a565b6007556001600160a01b0382165f90815260056020526040902054611ad3908261154a565b6001600160a01b0383165f818152600560205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611b239085815260200190565b60405180910390a3611b64611b46610ad98360015461153890919063ffffffff16565b6001600160a01b0384165f90815260026020526040902054906119ed565b6001600160a01b039092165f9081526002602052604090209190915550565b6001600160a01b038216611be35760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a8e565b611c1f81604051806060016040528060228152602001612120602291396001600160a01b0385165f9081526005602052604090205491906119b7565b6001600160a01b0383165f90815260056020526040902055600754611c4490826119e2565b6007556040518181525f906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3611b64611ca2610ad98360015461153890919063ffffffff16565b6001600160a01b0384165f908152600260205260409020549061173b565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610e29575f80fd5b5f8060408385031215611d1a575f80fd5b8235611d2581611cf5565b946020939093013593505050565b5f8083601f840112611d43575f80fd5b50813567ffffffffffffffff811115611d5a575f80fd5b6020830191508360208260051b8501011115611d74575f80fd5b9250929050565b5f805f8060408587031215611d8e575f80fd5b843567ffffffffffffffff811115611da4575f80fd5b611db087828801611d33565b909550935050602085013567ffffffffffffffff811115611dcf575f80fd5b611ddb87828801611d33565b95989497509550505050565b5f60208284031215611df7575f80fd5b813561154381611cf5565b5f805f60608486031215611e14575f80fd5b8335611e1f81611cf5565b92506020840135611e2f81611cf5565b929592945050506040919091013590565b5f60208284031215611e50575f80fd5b5035919050565b8015158114610e29575f80fd5b5f8060408385031215611e75575f80fd5b8235611e8081611cf5565b91506020830135611e9081611e57565b809150509250929050565b5f8060408385031215611eac575f80fd5b8235611eb781611cf5565b91506020830135611e9081611cf5565b634e487b7160e01b5f52601160045260245ffd5b5f82611ef557634e487b7160e01b5f52601260045260245ffd5b500490565b600181811c90821680611f0e57607f821691505b602082108103611f2c57634e487b7160e01b5f52602260045260245ffd5b50919050565b5f60208284031215611f42575f80fd5b5051919050565b634e487b7160e01b5f52603260045260245ffd5b6001815b6001841115611f9857808504811115611f7c57611f7c611ec7565b6001841615611f8a57908102905b60019390931c928002611f61565b935093915050565b5f82611fae575060016108c4565b81611fba57505f6108c4565b8160018114611fd05760028114611fda57611ff6565b60019150506108c4565b60ff841115611feb57611feb611ec7565b50506001821b6108c4565b5060208310610133831016604e8410600b8410161715612019575081810a6108c4565b6120255f198484611f5d565b805f190482111561203857612038611ec7565b029392505050565b5f61154360ff841683611fa0565b80820281158282048414176108c4576108c4611ec7565b5f60208284031215612075575f80fd5b815161154381611e57565b5f6001820161209157612091611ec7565b5060010190565b5f602082840312156120a8575f80fd5b815161154381611cf5565b808201808211156108c4576108c4611ec7565b8082018281125f8312801582168215821617156120e5576120e5611ec7565b505092915050565b818103818111156108c4576108c4611ec7565b8181035f83128015838313168383128216171561195957611959611ec756fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122031455b9cedc170a4e69f49519899bfadf07db336d025e80584d15fe229ae848a64736f6c634300081a00336080604052348015600e575f80fd5b506104a68061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061007a575f3560e01c8063663037ac11610058578063663037ac146100cc578063949d225d146100f7578063c2bc2efc146100fe578063cd41332914610126575f80fd5b806329092d0e1461007e5780633825d82814610093578063564c8d11146100a6575b5f80fd5b61009161008c3660046103c4565b610149565b005b6100916100a13660046103e4565b61026c565b6100b96100b43660046103c4565b610324565b6040519081526020015b60405180910390f35b6100df6100da36600461040c565b610366565b6040516001600160a01b0390911681526020016100c3565b5f546100b9565b6100b961010c3660046103c4565b6001600160a01b03165f9081526001602052604090205490565b6101396101343660046103c4565b610395565b60405190151581526020016100c3565b6001600160a01b0381165f9081526003602052604090205460ff1661016b5750565b6001600160a01b0381165f908152600360209081526040808320805460ff191690556001808352818420849055600290925282205482549092916101ae91610423565b90505f805f0182815481106101c5576101c5610448565b5f9182526020808320909101546001600160a01b03908116808452600290925260408084208790559087168352822082905581549092508291908590811061020f5761020f610448565b5f918252602082200180546001600160a01b0319166001600160a01b0393909316929092179091558054806102465761024661045c565b5f8281526020902081015f1990810180546001600160a01b031916905501905550505050565b6001600160a01b0382165f9081526003602052604090205460ff16156102a8576001600160a01b03919091165f90815260016020526040902055565b6001600160a01b0382165f818152600360209081526040808320805460ff1916600190811790915580835281842086905583546002909352908320829055810182559080527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630180546001600160a01b03191690911790555050565b6001600160a01b0381165f9081526003602052604081205460ff1661034b57505f19919050565b506001600160a01b03165f9081526002602052604090205490565b5f805f01828154811061037b5761037b610448565b5f918252602090912001546001600160a01b031692915050565b5f61039f82610324565b5f19141592915050565b80356001600160a01b03811681146103bf575f80fd5b919050565b5f602082840312156103d4575f80fd5b6103dd826103a9565b9392505050565b5f80604083850312156103f5575f80fd5b6103fe836103a9565b946020939093013593505050565b5f6020828403121561041c575f80fd5b5035919050565b8181038181111561044257634e487b7160e01b5f52601160045260245ffd5b92915050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52603160045260245ffdfea26469706673582212200b9ee4c534ea567ca05e60d465151008fea3c11e6378529d8813ce46b25389a064736f6c634300081a0033