0 txs
1 call
constructor
constructor()
functions
constantContractAddress
viewfunction constantContractAddress() view returns (address)
deposits
viewfunction deposits(address) view returns (uint16 numDeposits, uint256 withdrawn)
getAllUserDeposits
viewfunction getAllUserDeposits(address user) view returns (uint8[], uint32[], uint256[], uint256[], uint256[], bool[])
getCommision
viewfunction getCommision() view returns (uint256)
getUserDepositsByIndexes
viewfunction getUserDepositsByIndexes(address user, uint16[] depositIndexes) view returns (uint8[] depositTariffIds, uint32[] depositAts, uint256[] depositAmounts, uint256[] depositPaidOuts, uint256[] depositPercentsMonthly, bool[] depositClosed)
getWithdrawValue
viewfunction getWithdrawValue(address user) view returns (uint256)
investorContractAddress
viewfunction investorContractAddress() view returns (address)
state
viewfunction state() view returns (bool)
votes1
viewfunction votes1() view returns (bool)
votes2
viewfunction votes2() view returns (bool)
votes3
viewfunction votes3() view returns (bool)
deposit
payablefunction deposit(uint8 _tariff, address _referrer) payable returns (address, uint8, uint256)
depositForUser
nonpayablefunction depositForUser(uint256 value, uint8 _tariff, address _referrer, address _wallet, uint32 _at, uint32 _paid_out, uint32 _to_pay, uint32 _percents) returns (address, uint8, uint256)
devfee
payablefunction devfee(uint256 _fee) payable
migrate
nonpayablefunction migrate(address wallet, uint16[] depositIndexes, address contractAddress)
setConstantContractAddress
nonpayablefunction setConstantContractAddress(address contractAddress) returns (address)
setInvestorContractAddress
nonpayablefunction setInvestorContractAddress(address contractAddress) returns (address)
toggleDeposit
nonpayablefunction toggleDeposit(address wallet, uint16 depositIndex) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
turnOff
nonpayablefunction turnOff() returns (bool)
turnOn
nonpayablefunction turnOn() returns (bool)
voting
nonpayablefunction voting() returns (bool)
withdraw
nonpayablefunction withdraw()
withdrawThreeVoices
nonpayablefunction withdrawThreeVoices(uint256 amount)
events
DepositEvent
event DepositEvent(address indexed _user, uint8 tariff, uint256 indexed _amount)
withdrawEvent
event withdrawEvent(address indexed _user, uint256 indexed _amount)
errors
No errors.
creation bytecode
0x60806040526000805460ff60201b19169055348015601c57600080fd5b506000805463ffffffff196501000000000033021664ff00000001600160c81b031990911617905561561b806100536000396000f3fe6080604052600436106101775760003560e01c8063af10c810116100ca578063ea5bb94611610079578063f2fde38b11610056578063f2fde38b14610446578063fc7e286d14610466578063fce1ccca146104bb57005b8063ea5bb946146103e6578063ec715e5814610406578063ec7dced51461042657005b8063ba33ed7d116100a7578063ba33ed7d14610399578063c19d93fb146103ae578063cf314735146103c657005b8063af10c81014610339578063b01326c01461034e578063b9f43fd81461038657005b80633fcd0aec11610126578063878c13df11610103578063878c13df146102bf5780639a14051e146102df578063ab94d9501461032657005b80633fcd0aec1461025c5780635b4405961461027f5780635ec201bf1461029f57005b80632c7a2e5b116101545780632c7a2e5b14610206578063332336df146102265780633ccfd60b1461024757005b80630b5dfd3d146101805780631327e258146101a05780632516b3c1146101d457005b3661017e57005b005b34801561018c57600080fd5b5061017e61019b366004614cc7565b6104d0565b3480156101ac57600080fd5b506000546101bf90610100900460ff1681565b60405190151581526020015b60405180910390f35b3480156101e057600080fd5b506101f46101ef366004614d2b565b6109c6565b6040516101cb96959493929190614df7565b34801561021257600080fd5b506000546101bf9062010000900460ff1681565b34801561023257600080fd5b506000546101bf906301000000900460ff1681565b34801561025357600080fd5b5061017e610ebd565b34801561026857600080fd5b506102716112f1565b6040519081526020016101cb565b34801561028b57600080fd5b5061027161029a366004614d2b565b611352565b3480156102ab57600080fd5b506101bf6102ba366004614ea6565b611a60565b3480156102cb57600080fd5b5061017e6102da366004614edf565b611bfb565b3480156102eb57600080fd5b506102ff6102fa366004614f19565b611d59565b604080516001600160a01b03909416845260ff9092166020840152908201526060016101cb565b6102ff610334366004614fb9565b6120b1565b34801561034557600080fd5b506101bf612491565b34801561035a57600080fd5b5061036e610369366004614d2b565b6124fd565b6040516001600160a01b0390911681526020016101cb565b61017e610394366004614edf565b612589565b3480156103a557600080fd5b506101bf61266b565b3480156103ba57600080fd5b5060005460ff166101bf565b3480156103d257600080fd5b5061036e6103e1366004614d2b565b6126d9565b3480156103f257600080fd5b5060015461036e906001600160a01b031681565b34801561041257600080fd5b5060025461036e906001600160a01b031681565b34801561043257600080fd5b506101f4610441366004614fe7565b612763565b34801561045257600080fd5b5061017e610461366004614d2b565b612d45565b34801561047257600080fd5b506104a1610481366004614d2b565b6004602052600090815260409020805460019091015461ffff9091169082565b6040805161ffff90931683526020830191909152016101cb565b3480156104c757600080fd5b506101bf612df4565b6000546501000000000090046001600160a01b0316331461052e5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b60448201526064015b60405180910390fd5b6001600160a01b0381166105845760405162461bcd60e51b815260206004820152601a60248201527f46726f6d20636f6e7472616374206e6f742073657475707065640000000000006044820152606401610525565b6060806060806060806000885111610624576040517f2516b3c10000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152881690632516b3c1906024016000604051808303816000875af11580156105f7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261061f91908101906151d8565b6106b2565b6040517fec7dced50000000000000000000000000000000000000000000000000000000081526001600160a01b0388169063ec7dced59061066b908c908c906004016152ee565b6000604051808303816000875af115801561068a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106b291908101906151d8565b949a5092985090965094509250905060005b86518161ffff1610156109ba57604051806101200160405280888361ffff16815181106106f3576106f361534a565b602002602001015160ff168152602001868361ffff16815181106107195761071961534a565b60200260200101518152602001858361ffff168151811061073c5761073c61534a565b6020026020010151815260200160008152602001878361ffff16815181106107665761076661534a565b602002602001015163ffffffff168152602001600160009054906101000a90046001600160a01b03166001600160a01b031663e8f2be528a8561ffff16815181106107b3576107b361534a565b60200260200101516040518263ffffffff1660e01b81526004016107e0919060ff91909116815260200190565b60a060405180830381865afa1580156107fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108219190615360565b60000151888461ffff168151811061083b5761083b61534a565b602002602001015161084d9190615405565b63ffffffff168152602001838361ffff168151811061086e5761086e61534a565b60200260200101511515815260200160008152602001868361ffff168151811061089a5761089a61534a565b6020908102919091018101519091526001600160a01b038c166000908152600490915260408120805460028201929161ffff90911690826108da83615421565b825461ffff91821661010093840a90810290830219909116179092559116825260208083019390935260409182016000208451815460ff90911660ff1990911617815592840151600184015590830151600283015560608301516003830155608083015160048301805460a086015160c08701511515600160401b0268ff00000000000000001963ffffffff9283166401000000000267ffffffffffffffff199094169290951691909117919091179290921691909117905560e083015160058301559190910151600690910155806109b281615421565b9150506106c4565b50505050505050505050565b60015460405163dbac26e960e01b8152336004820152606091829182918291829182916001600160a01b039091169063dbac26e990602401602060405180830381865afa158015610a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a3f9190615442565b15610a4957600080fd5b6001600160a01b03871660009081526004602052604081205461ffff1667ffffffffffffffff811115610a7e57610a7e614bad565b604051908082528060200260200182016040528015610aa7578160200160208202803683370190505b506001600160a01b0389166000908152600460205260408120549192509061ffff1667ffffffffffffffff811115610ae157610ae1614bad565b604051908082528060200260200182016040528015610b0a578160200160208202803683370190505b506001600160a01b038a166000908152600460205260408120549192509061ffff1667ffffffffffffffff811115610b4457610b44614bad565b604051908082528060200260200182016040528015610b6d578160200160208202803683370190505b506001600160a01b038b166000908152600460205260408120549192509061ffff1667ffffffffffffffff811115610ba757610ba7614bad565b604051908082528060200260200182016040528015610bd0578160200160208202803683370190505b506001600160a01b038c166000908152600460205260408120549192509061ffff1667ffffffffffffffff811115610c0a57610c0a614bad565b604051908082528060200260200182016040528015610c33578160200160208202803683370190505b506001600160a01b038d166000908152600460205260408120549192509061ffff1667ffffffffffffffff811115610c6d57610c6d614bad565b604051908082528060200260200182016040528015610c96578160200160208202803683370190505b50905060005b6001600160a01b038e1660009081526004602052604090205461ffff9081169082161015610ea8576001600160a01b038e16600090815260046020908152604080832061ffff8516808552600290910190925290912054885160ff9091169189918110610d0b57610d0b61534a565b60ff9092166020928302919091018201526001600160a01b038f1660009081526004808352604080832061ffff861680855260029091019094529091200154875163ffffffff9091169188918110610d6557610d6561534a565b63ffffffff9092166020928302919091018201526001600160a01b038f16600090815260048252604080822061ffff851680845260029091019093529020600101548651909187918110610dbb57610dbb61534a565b6020908102919091018101919091526001600160a01b038f16600090815260048252604080822061ffff85168084526002918201909452912001548551909186918110610e0a57610e0a61534a565b6020908102919091018101919091526001600160a01b038f1660009081526004808352604080832061ffff8616808552600290910190945290912001548351600160401b90910460ff169184918110610e6557610e6561534a565b91151560209283029190910190910152610e7f8e82612ecb565b838261ffff1681518110610e9557610e9561534a565b6020908102919091010152600101610c9c565b50949c939b5091995097509550909350915050565b60015460405163dbac26e960e01b81523360048201526001600160a01b039091169063dbac26e990602401602060405180830381865afa158015610f05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f299190615442565b15610f3357600080fd5b60005460ff161515600103610f4757600080fd5b33610f5157600080fd5b6000610f5c336132d2565b905060008111610fae5760405162461bcd60e51b815260206004820152601360248201527f496e73756666696369656e7420616d6f756e74000000000000000000000000006044820152606401610525565b6000336001600160a01b0316600160009054906101000a90046001600160a01b03166001600160a01b031663b0a46a826040518163ffffffff1660e01b8152600401602060405180830381865afa15801561100d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611031919061545d565b611044906001600160801b031684615486565b604051600081818185875af1925050503d8060008114611080576040519150601f19603f3d011682016040523d82523d6000602084013e611085565b606091505b50509050600160009054906101000a90046001600160a01b03166001600160a01b031663b0a46a826040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611100919061545d565b6001600160801b03166003546111169190615499565b600355806111665760405162461bcd60e51b815260206004820152601860248201527f5769746864726177207472616e73666572206661696c656400000000000000006044820152606401610525565b60005b3360009081526004602052604090205461ffff90811690821610156112905733600090815260046020818152604080842061ffff8616855260020190915290912001544264010000000090910463ffffffff16116112275733600090815260046020908152604080832061ffff8516845260029081019092529091209081015460039091015411156112225733600090815260046020908152604080832061ffff85168452600290810190925290912060038101549101555b611288565b33600090815260046020908152604080832061ffff8516845260029081019092529091209081015460059091015411156112885733600090815260046020908152604080832061ffff85168452600290810190925290912060058101549101555b600101611169565b50336000908152600460205260409020600101546112af908390615499565b3360008181526004602052604080822060010193909355915184927f87d5f4772963d1f9b76047158b4ae97c420a1b3bff2a746c828beffd9e7c3e2691a35050565b600080546501000000000090046001600160a01b0316331461134b5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b5060035490565b6001600160a01b03811660009081526004602052604081205481908190819061ffff1667ffffffffffffffff81111561138d5761138d614bad565b60405190808252806020026020018201604052801561141e57816020015b61140b604051806101200160405280600060ff168152602001600081526020016000815260200160008152602001600063ffffffff168152602001600063ffffffff16815260200160001515815260200160008152602001600081525090565b8152602001906001900390816113ab5790505b50905060005b6001600160a01b03861660009081526004602052604090205461ffff9081169082161015611a3e57600160009054906101000a90046001600160a01b03166001600160a01b03166367b0c1156040518163ffffffff1660e01b8152600401602060405180830381865afa15801561149f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114c3919061545d565b6001600160a01b038716600090815260046020818152604080842061ffff871685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e0830152600601546101008201526001600160801b03919091169061157b906138f3565b1015611588576000611854565b600154604080516367b0c11560e01b815290516064926001600160a01b0316916367b0c1159160048083019260209291908290030181865afa1580156115d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115f6919061545d565b6001600160a01b038816600090815260046020818152604080842061ffff881685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e0830152600601546101008201526001600160801b0391909116906116ae906138f3565b6116b891906154c2565b6001600160a01b038816600090815260046020818152604080842061ffff881685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e083015260060154610100820152611763906138f3565b61176d9190615486565b6001546001600160a01b03898116600090815260046020818152604080842061ffff8a168552600201909152918290205491516374795f2960e11b815260ff9092169082015291169063e8f2be529060240160a060405180830381865afa1580156117dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118009190615360565b6020908101516001600160a01b038a16600090815260048352604080822061ffff8816835260020190935291909120600601546118409160ff16906154d6565b61184a91906154d6565b61185491906154ed565b828261ffff168151811061186a5761186a61534a565b60209081029190910181015160e001919091526001600160a01b038716600090815260048252604080822061ffff851683526002908101909352902001546118b29084615499565b6001600160a01b038716600090815260046020818152604080842061ffff871685526002019091529091200154909350600160401b900460ff168061193257506001600160a01b038616600090815260046020818152604080842061ffff8616855260020190915290912001544264010000000090910463ffffffff1611155b156119be576001600160a01b038616600090815260046020908152604080832061ffff8516808552600290910190925290912060060154835190918491811061197d5761197d61534a565b602002602001015160e001516119939190615499565b828261ffff16815181106119a9576119a961534a565b60200260200101516060018181525050611a07565b818161ffff16815181106119d4576119d461534a565b602002602001015160e00151828261ffff16815181106119f6576119f661534a565b602002602001015160600181815250505b818161ffff1681518110611a1d57611a1d61534a565b60200260200101516060015184611a349190615499565b9350600101611424565b50818311611a4d576000611a57565b611a578284615486565b95945050505050565b600080546501000000000090046001600160a01b03163314611aba5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b6001600160a01b03831660009081526004602052604090205461ffff16611b235760405162461bcd60e51b815260206004820152600c60248201527f57726f6e672077616c6c657400000000000000000000000000000000000000006044820152606401610525565b6001600160a01b038316600090815260046020908152604080832061ffff86168452600201909152902060010154611b9d5760405162461bcd60e51b815260206004820152601360248201527f57726f6e67206465706f73697420696e646578000000000000000000000000006044820152606401610525565b506001600160a01b038216600090815260046020818152604080842061ffff8616855260020190915290912001805460ff600160401b808304821615810268ff00000000000000001990931692909217928390559104165b92915050565b6000546501000000000090046001600160a01b03163314611c545760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b600054610100900460ff168015611c73575060005462010000900460ff165b8015611c8857506000546301000000900460ff165b611cd45760405162461bcd60e51b815260206004820152600c60248201527f4e656564203320766f74657300000000000000000000000000000000000000006044820152606401610525565b600054610100900460ff168015611cf3575060005462010000900460ff165b8015611d0857506000546301000000900460ff165b15611d565747811115611d1a57600080fd5b604051339082156108fc029083906000818181858888f19350505050158015611d47573d6000803e3d6000fd5b506000805463ffffff00191690555b50565b60008054819081906501000000000090046001600160a01b03163314611db75760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b876001600160a01b0316896001600160a01b031603611e185760405162461bcd60e51b815260206004820152601a60248201527f57616c6c65742063616e6e6f74206265207265666572726572210000000000006044820152606401610525565b6002546040516337bde4df60e11b81526001600160a01b038b811660048301526000921690636f7bc9be9060240160e0604051808303816000875af1158015611e65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e899190615501565b5163ffffffff1611611edd5760405162461bcd60e51b815260206004820152601b60248201527f4e6f20726566657272657220666f756e6420696e2073797374656d00000000006044820152606401610525565b6002546040516337bde4df60e11b81526001600160a01b038a811660048301526000921690636f7bc9be9060240160e0604051808303816000875af1158015611f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f4e9190615501565b5163ffffffff16111561203f576002546040516337bde4df60e11b81526001600160a01b038a8116600483015290911690636f7bc9be9060240160e0604051808303816000875af1158015611fa7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fcb9190615501565b602001516001600160a01b0316896001600160a01b03161461203f5760405162461bcd60e51b815260206004820152602760248201527f5265666572726572206d69736d6174636820666f72206578697374696e672069604482015266373b32b9ba37b960c91b6064820152608401610525565b600061209e8c8c8c8c60405180608001604052808e63ffffffff1663ffffffff1681526020018d63ffffffff1663ffffffff1681526020018c63ffffffff1663ffffffff1681526020018b63ffffffff1663ffffffff168152506139b2565b989c9a9b50979998505050505050505050565b60008080336001600160a01b0385160361210d5760405162461bcd60e51b815260206004820181905260248201527f596f752063616e6e6f7420626520796f7572206f776e207265666572726572216044820152606401610525565b6002546040516337bde4df60e11b81526001600160a01b0386811660048301526000921690636f7bc9be9060240160e0604051808303816000875af115801561215a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217e9190615501565b5163ffffffff16116121d25760405162461bcd60e51b815260206004820152601b60248201527f4e6f20726566657272657220666f756e6420696e2073797374656d00000000006044820152606401610525565b6002546040516337bde4df60e11b81523360048201526000916001600160a01b031690636f7bc9be9060240160e0604051808303816000875af115801561221d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122419190615501565b5163ffffffff161115612330576002546040516337bde4df60e11b81523360048201526001600160a01b0390911690636f7bc9be9060240160e0604051808303816000875af1158015612298573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122bc9190615501565b602001516001600160a01b0316846001600160a01b0316146123305760405162461bcd60e51b815260206004820152602760248201527f5265666572726572206d69736d6174636820666f72206578697374696e672069604482015266373b32b9ba37b960c91b6064820152608401610525565b60006123f4600160009054906101000a90046001600160a01b03166001600160a01b031663fdaad9136040518163ffffffff1660e01b8152600401602060405180830381865afa158015612388573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123ac919061545d565b6123bf906001600160801b031634615486565b6040805160808101825263ffffffff4216815260006020820181905291810182905260608101919091528890889033906139b2565b9050600160009054906101000a90046001600160a01b03166001600160a01b031663fdaad9136040518163ffffffff1660e01b8152600401602060405180830381865afa158015612449573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061246d919061545d565b6001600160801b03166003546124839190615499565b600355339690945092505050565b600080546501000000000090046001600160a01b031633146124eb5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b506000805464ffffffffff1916815590565b600080546501000000000090046001600160a01b031633146125575760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b506001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091555b919050565b730ef1380a6114ae398f163fb43d90fdc3bc1cf422600080826125ad8560066154d6565b604051600081818185875af1925050503d80600081146125e9576040519150601f19603f3d011682016040523d82523d6000602084013e6125ee565b606091505b5091509150816126655760405162461bcd60e51b8152602060048201526024808201527f4665652066726f6d2063757272656e74206465706f736974206973206e6f742060448201527f73656e74000000000000000000000000000000000000000000000000000000006064820152608401610525565b50505050565b600080546501000000000090046001600160a01b031633146126c55760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b506000805460ff1916600190811790915590565b600080546501000000000090046001600160a01b031633146127335760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b506002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216918217905590565b60015460405163dbac26e960e01b8152336004820152606091829182918291829182916001600160a01b039091169063dbac26e990602401602060405180830381865afa1580156127b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127dc9190615442565b156127e657600080fd5b865167ffffffffffffffff81111561280057612800614bad565b604051908082528060200260200182016040528015612829578160200160208202803683370190505b509550865167ffffffffffffffff81111561284657612846614bad565b60405190808252806020026020018201604052801561286f578160200160208202803683370190505b509450865167ffffffffffffffff81111561288c5761288c614bad565b6040519080825280602002602001820160405280156128b5578160200160208202803683370190505b509350865167ffffffffffffffff8111156128d2576128d2614bad565b6040519080825280602002602001820160405280156128fb578160200160208202803683370190505b509250865167ffffffffffffffff81111561291857612918614bad565b604051908082528060200260200182016040528015612941578160200160208202803683370190505b509150865167ffffffffffffffff81111561295e5761295e614bad565b604051908082528060200260200182016040528015612987578160200160208202803683370190505b50905060005b87518161ffff161015612d3a576000600460008b6001600160a01b03166001600160a01b0316815260200190815260200160002060020160008a8461ffff16815181106129dc576129dc61534a565b602002602001015161ffff1661ffff168152602001908152602001600020600101541115612d2857600460008a6001600160a01b03166001600160a01b031681526020019081526020016000206002016000898361ffff1681518110612a4457612a4461534a565b602002602001015161ffff1661ffff16815260200190815260200160002060000160009054906101000a900460ff16878261ffff1681518110612a8957612a8961534a565b602002602001019060ff16908160ff1681525050600460008a6001600160a01b03166001600160a01b031681526020019081526020016000206002016000898361ffff1681518110612add57612add61534a565b602002602001015161ffff1661ffff16815260200190815260200160002060040160009054906101000a900463ffffffff16868261ffff1681518110612b2557612b2561534a565b602002602001019063ffffffff16908163ffffffff1681525050600460008a6001600160a01b03166001600160a01b031681526020019081526020016000206002016000898361ffff1681518110612b7f57612b7f61534a565b602002602001015161ffff1661ffff16815260200190815260200160002060010154858261ffff1681518110612bb757612bb761534a565b602002602001018181525050600460008a6001600160a01b03166001600160a01b031681526020019081526020016000206002016000898361ffff1681518110612c0357612c0361534a565b602002602001015161ffff1661ffff16815260200190815260200160002060020154848261ffff1681518110612c3b57612c3b61534a565b602002602001018181525050600460008a6001600160a01b03166001600160a01b031681526020019081526020016000206002016000898361ffff1681518110612c8757612c8761534a565b602002602001015161ffff1661ffff16815260200190815260200160002060040160089054906101000a900460ff16828261ffff1681518110612ccc57612ccc61534a565b602002602001019015159081151581525050612d0589898361ffff1681518110612cf857612cf861534a565b6020026020010151612ecb565b838261ffff1681518110612d1b57612d1b61534a565b6020026020010181815250505b80612d3281615421565b91505061298d565b509295509295509295565b6000546501000000000090046001600160a01b03163314612d9e5760405162461bcd60e51b8152602060048201526013602482015272139bc81cdd59999a58da595b9d081c9a59da1d606a1b6044820152606401610525565b6001600160a01b038116612db157600080fd5b600080546001600160a01b0390921665010000000000027fffffffffffffff0000000000000000000000000000000000000000ffffffffff909216919091179055565b60007fffffffffffffffffffffffffde315239d97a9e0f41768b94d9cd419d72eb76c63301612e3957506000805461ff00191661010090811791829055900460ff1690565b7fffffffffffffffffffffffffb4f4baabeb4e6720ac6c60c1915e7c90549d333e3301612e7e57506000805462ff000019166201000090811791829055900460ff1690565b7fffffffffffffffffffffffff4503530aefa4b4d9c462e1d60cab29c66e3815ea3301612ec557506000805463ff0000001916630100000090811791829055900460ff1690565b50600090565b600154604080516367b0c11560e01b815290516000926001600160a01b0316916367b0c1159160048083019260209291908290030181865afa158015612f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f39919061545d565b6001600160a01b038416600090815260046020818152604080842061ffff881685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e0830152600601546101008201526001600160801b039190911690612ff1906138f3565b106132c957600154604080516367b0c11560e01b815290516064926001600160a01b0316916367b0c1159160048083019260209291908290030181865afa158015613040573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613064919061545d565b6001600160a01b038516600090815260046020818152604080842061ffff891685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e0830152600601546101008201526001600160801b03919091169061311c906138f3565b61312691906154c2565b6001600160a01b038516600090815260046020818152604080842061ffff891685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e0830152600601546101008201526131d1906138f3565b6131db9190615486565b6001546001600160a01b03868116600090815260046020818152604080842061ffff8b168552600201909152918290205491516374795f2960e11b815260ff9092169082015291169063e8f2be529060240160a060405180830381865afa15801561324a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061326e9190615360565b6020908101516001600160a01b038716600090815260048352604080822061ffff8916835260020190935291909120600601546132ae9160ff16906154d6565b6132b891906154d6565b6132c291906154ed565b9050611bf5565b50600092915050565b60008080805b6001600160a01b03851660009081526004602052604090205461ffff90811690821610156138d257600160009054906101000a90046001600160a01b03166001600160a01b03166367b0c1156040518163ffffffff1660e01b8152600401602060405180830381865afa158015613353573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613377919061545d565b6001600160a01b038616600090815260046020818152604080842061ffff871685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e0830152600601546101008201526001600160801b03919091169061342f906138f3565b101561343c576000613708565b600154604080516367b0c11560e01b815290516064926001600160a01b0316916367b0c1159160048083019260209291908290030181865afa158015613486573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134aa919061545d565b6001600160a01b038716600090815260046020818152604080842061ffff881685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e0830152600601546101008201526001600160801b039190911690613562906138f3565b61356c91906154c2565b6001600160a01b038716600090815260046020818152604080842061ffff881685526002908101835293819020815161012081018352815460ff90811682526001830154948201949094529481015491850191909152600381015460608501529182015463ffffffff808216608086015264010000000082041660a0850152600160401b900416151560c0830152600581015460e083015260060154610100820152613617906138f3565b6136219190615486565b6001546001600160a01b03888116600090815260046020818152604080842061ffff8a168552600201909152918290205491516374795f2960e11b815260ff9092169082015291169063e8f2be529060240160a060405180830381865afa158015613690573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136b49190615360565b6020908101516001600160a01b038916600090815260048352604080822061ffff8816835260020190935291909120600601546136f49160ff16906154d6565b6136fe91906154d6565b61370891906154ed565b6001600160a01b038616600090815260046020908152604080832061ffff861684526002908101909252909120600581019290925501546137499083615499565b6001600160a01b038616600090815260046020818152604080842061ffff871685526002019091529091200154909250600160401b900460ff16806137c957506001600160a01b038516600090815260046020818152604080842061ffff8616855260020190915290912001544264010000000090910463ffffffff1611155b1561385a576001600160a01b038516600090815260046020818152604080842061ffff86168552600201909152909120908101805468ff00000000000000001916600160401b17905560068101546005909101546138279190615499565b6001600160a01b038616600090815260046020908152604080832061ffff86168452600201909152902060030155613890565b6001600160a01b038516600090815260046020908152604080832061ffff85168452600201909152902060058101546003909101555b6001600160a01b038516600090815260046020908152604080832061ffff851684526002019091529020600301546138c89084615499565b92506001016132d8565b508082116138e15760006138eb565b6138eb8183615486565b949350505050565b60015481516040516374795f2960e11b815260ff90911660048201526000916001600160a01b03169063e8f2be529060240160a060405180830381865afa158015613942573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906139669190615360565b6080015163ffffffff16826080015163ffffffff168360a0015163ffffffff16421061399c578360a0015163ffffffff1661399e565b425b6139a89190615486565b611bf591906154ed565b60006001600160a01b0383163314806139de57506000546501000000000090046001600160a01b031633145b613a2a5760405162461bcd60e51b815260206004820152600960248201527f4e6f2061636365737300000000000000000000000000000000000000000000006044820152606401610525565b6001546040516374795f2960e11b815260ff8716600482015287916001600160a01b03169063e8f2be529060240160a060405180830381865afa158015613a75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613a999190615360565b606001511515600003613aee5760405162461bcd60e51b815260206004820152601960248201527f5468697320746172696666206973207475726e6564206f6666000000000000006044820152606401610525565b8615614727576002546040516337bde4df60e11b81526001600160a01b0386811660048301526000921690636f7bc9be9060240160e0604051808303816000875af1158015613b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b659190615501565b805190915063ffffffff16600003613c0b576002546040517faa6773540000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015287811660248301529091169063aa6773549060440160e0604051808303816000875af1158015613be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c089190615501565b90505b805160009063ffffffff1615801590613c2a575060a082015115156001145b8015613c37575060ff8816155b825190915063ffffffff1615801590613c56575060a082015115156001145b8015613c63575060ff8816155b15613cb05760405162461bcd60e51b815260206004820152601660248201527f39302064617973206465706f73697473206578697374000000000000000000006044820152606401610525565b600160009054906101000a90046001600160a01b03166001600160a01b031663e1e158a56040518163ffffffff1660e01b8152600401602060405180830381865afa158015613d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d27919061545d565b6001600160801b0316891015613d7f5760405162461bcd60e51b815260206004820152601860248201527f4d696e696d616c206465706f73697420726571756972656400000000000000006044820152606401610525565b600160009054906101000a90046001600160a01b03166001600160a01b031663dd5967c36040518163ffffffff1660e01b8152600401602060405180830381865afa158015613dd2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613df6919061545d565b6001600160801b031689111580613e985750600160009054906101000a90046001600160a01b03166001600160a01b031663c34c53f16040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e7f919061545d565b6001600160801b03168911158015613e98575060ff8816155b613ee45760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206c696d6974206578636565646564210000000000000000006044820152606401610525565b6001546040516374795f2960e11b815260ff8a1660048201526001600160a01b039091169063e8f2be529060240160a060405180830381865afa158015613f2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f539190615360565b60400151891115613fa65760405162461bcd60e51b815260206004820152601460248201527f4d6178206c696d697420666f72207461726966660000000000000000000000006044820152606401610525565b600054640100000000900460ff1615613fbe57600080fd5b6000805464ff000000001916640100000000178155613fde60648b6154ed565b9050613fe981612589565b600160009054906101000a90046001600160a01b03166001600160a01b031663a6c455cc6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561403c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614060919061545d565b6001600160801b03161561411557600154604080517fa6c455cc00000000000000000000000000000000000000000000000000000000815290516064926001600160a01b03169163a6c455cc9160048083019260209291908290030181865afa1580156140d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906140f5919061545d565b614108906001600160801b0316866154d6565b61411291906154ed565b93505b604080516101208101825260ff8b16808252602080830188905289015163ffffffff908116838501528984015181166060840152895116608083015260015483516374795f2960e11b815260048101929092529251919260a0808501936001600160a01b039092169263e8f2be5292602480830193928290030181865afa1580156141a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141c89190615360565b5188516141d59190615405565b63ffffffff168152600060208201526040018760036020908102919091015163ffffffff1682529081018690526001600160a01b0389166000908152600490915260408120805460028201929161ffff909116908261423383615421565b825461ffff91821661010093840a908102908302199091161790925591168252602080830193909352604091820160009081208551815460ff91821660ff1990911617825594860151600182015592850151600284015560608501516003840155608085015160048401805460a088015160c08901511515600160401b0268ff00000000000000001963ffffffff9283166401000000000267ffffffffffffffff199094169290951691909117919091179290921691909117905560e085015160058401559301516006909101558a16810361430d575060015b600154604080517f7968a7c800000000000000000000000000000000000000000000000000000000815290516000926001600160a01b031691637968a7c89160048083019260209291908290030181865afa158015614370573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906143949190615595565b60ff1611156144cd576000896001600160a01b03166064600160009054906101000a90046001600160a01b03166001600160a01b0316637968a7c86040518163ffffffff1660e01b8152600401602060405180830381865afa1580156143fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144229190615595565b61442f9060ff168f6154d6565b61443991906154ed565b604051600081818185875af1925050503d8060008114614475576040519150601f19603f3d011682016040523d82523d6000602084013e61447a565b606091505b50509050806144cb5760405162461bcd60e51b815260206004820152600f60248201527f7061795f746f5f524546206661696c00000000000000000000000000000000006044820152606401610525565b505b6000805464ff00000000191690556002546040517fc25d361d0000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152602482018e90526044820188905283151560648301529091169063c25d361d90608401600060405180830381600087803b15801561455157600080fd5b505af1158015614565573d6000803e3d6000fd5b50506001546040805163aa26d0ed60e01b81529051600094506001600160a01b03909216925063aa26d0ed9160048083019260209291908290030181865afa1580156145b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145d991906155b2565b6001600160a01b031614614722576001546040516374795f2960e11b815260ff8c166004820152614722918a916001600160a01b039091169063e8f2be529060240160a060405180830381865afa158015614638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061465c9190615360565b6020015160ff1661466e6064896154ed565b61467891906154d6565b6001600160801b03168960006020020151600160009054906101000a90046001600160a01b03166001600160a01b031663e8f2be528f60ff166040518263ffffffff1660e01b81526004016146cf91815260200190565b60a060405180830381865afa1580156146ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147109190615360565b518b5161471d9190615405565b614774565b505050505b60405160ff8716815281906001600160a01b038616907f06417103c5093d12990826b58599d5c19605dc971709b37d7df2b8ee67ff4e699060200160405180910390a39695505050505050565b6002546040516337bde4df60e11b81526001600160a01b0386811660048301526000921690636f7bc9be9060240160e0604051808303816000875af11580156147c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906147e59190615501565b805190915063ffffffff1615614b915760208101516001600160a01b03811615614b8f576002546040516337bde4df60e11b81526001600160a01b0383811660048301526000921690636f7bc9be9060240160e0604051808303816000875af1158015614856573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061487a9190615501565b9050600060058260c001516008811115614896576148966155cf565b60ff16116148a8578160c001516148ab565b60055b6001549091506001600160a01b031663fb2391fc8260088111156148d1576148d16155cf565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815260ff9091166004820152602401602060405180830381865afa158015614927573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061494b9190615595565b60ff1615614b8c576001546040805163aa26d0ed60e01b815290516000926001600160a01b03169163aa26d0ed9160048083019260209291908290030181865afa15801561499d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149c191906155b2565b6001546001600160a01b03918216916378f12f72918a918a9189916003911663fb2391fc8960088111156149f7576149f76155cf565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b16815260ff9091166004820152602401602060405180830381865afa158015614a4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614a719190615595565b60ff1660648f614a8191906154ed565b614a8b91906154d6565b614a9591906154ed565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e087901b16815263ffffffff94851660048201529290931660248301526001600160a01b031660448201526001600160801b0390911660648201526084016020604051808303816000875af1158015614b17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614b3b9190615442565b905080614b8a5760405162461bcd60e51b815260206004820152601160248201527f426f6e7573206e6f7420616363727565640000000000000000000000000000006044820152606401610525565b505b50505b505b5050505050565b6001600160a01b0381168114611d5657600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff81118282101715614be657614be6614bad565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715614c1557614c15614bad565b604052919050565b600067ffffffffffffffff821115614c3757614c37614bad565b5060051b60200190565b61ffff81168114611d5657600080fd5b600082601f830112614c6257600080fd5b8135614c75614c7082614c1d565b614bec565b8082825260208201915060208360051b860101925085831115614c9757600080fd5b602085015b83811015614cbd578035614caf81614c41565b835260209283019201614c9c565b5095945050505050565b600080600060608486031215614cdc57600080fd5b8335614ce781614b98565b9250602084013567ffffffffffffffff811115614d0357600080fd5b614d0f86828701614c51565b9250506040840135614d2081614b98565b809150509250925092565b600060208284031215614d3d57600080fd5b8135614d4881614b98565b9392505050565b600081518084526020840193506020830160005b82811015614d8757815163ffffffff16865260209586019590910190600101614d63565b5093949350505050565b600081518084526020840193506020830160005b82811015614d87578151865260209586019590910190600101614da5565b600081518084526020840193506020830160005b82811015614d875781511515865260209586019590910190600101614dd7565b60c08082528751908201819052600090602089019060e0840190835b81811015614e3457835160ff16835260209384019390920191600101614e13565b50508381036020850152614e48818a614d4f565b9150508281036040840152614e5d8188614d91565b90508281036060840152614e718187614d91565b90508281036080840152614e858186614d91565b905082810360a0840152614e998185614dc3565b9998505050505050505050565b60008060408385031215614eb957600080fd5b8235614ec481614b98565b91506020830135614ed481614c41565b809150509250929050565b600060208284031215614ef157600080fd5b5035919050565b60ff81168114611d5657600080fd5b63ffffffff81168114611d5657600080fd5b600080600080600080600080610100898b031215614f3657600080fd5b883597506020890135614f4881614ef8565b96506040890135614f5881614b98565b95506060890135614f6881614b98565b94506080890135614f7881614f07565b935060a0890135614f8881614f07565b925060c0890135614f9881614f07565b915060e0890135614fa881614f07565b809150509295985092959890939650565b60008060408385031215614fcc57600080fd5b8235614fd781614ef8565b91506020830135614ed481614b98565b60008060408385031215614ffa57600080fd5b823561500581614b98565b9150602083013567ffffffffffffffff81111561502157600080fd5b61502d85828601614c51565b9150509250929050565b600082601f83011261504857600080fd5b8151615056614c7082614c1d565b8082825260208201915060208360051b86010192508583111561507857600080fd5b602085015b83811015614cbd57805161509081614ef8565b83526020928301920161507d565b600082601f8301126150af57600080fd5b81516150bd614c7082614c1d565b8082825260208201915060208360051b8601019250858311156150df57600080fd5b602085015b83811015614cbd5780516150f781614f07565b8352602092830192016150e4565b600082601f83011261511657600080fd5b8151615124614c7082614c1d565b8082825260208201915060208360051b86010192508583111561514657600080fd5b602085015b83811015614cbd57805183526020928301920161514b565b8051801515811461258457600080fd5b600082601f83011261518457600080fd5b8151615192614c7082614c1d565b8082825260208201915060208360051b8601019250858311156151b457600080fd5b602085015b83811015614cbd576151ca81615163565b8352602092830192016151b9565b60008060008060008060c087890312156151f157600080fd5b865167ffffffffffffffff81111561520857600080fd5b61521489828a01615037565b965050602087015167ffffffffffffffff81111561523157600080fd5b61523d89828a0161509e565b955050604087015167ffffffffffffffff81111561525a57600080fd5b61526689828a01615105565b945050606087015167ffffffffffffffff81111561528357600080fd5b61528f89828a01615105565b935050608087015167ffffffffffffffff8111156152ac57600080fd5b6152b889828a01615105565b92505060a087015167ffffffffffffffff8111156152d557600080fd5b6152e189828a01615173565b9150509295509295509295565b6000604082016001600160a01b03851683526040602084015280845180835260608501915060208601925060005b8181101561533e57835161ffff1683526020938401939092019160010161531c565b50909695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060a082840312801561537357600080fd5b5060405160a0810167ffffffffffffffff8111828210171561539757615397614bad565b60405282516153a581614f07565b815260208301516153b581614ef8565b6020820152604083810151908201526153d060608401615163565b606082015260808301516153e381614f07565b60808201529392505050565b634e487b7160e01b600052601160045260246000fd5b63ffffffff8181168382160190811115611bf557611bf56153ef565b600061ffff821661ffff8103615439576154396153ef565b60010192915050565b60006020828403121561545457600080fd5b614d4882615163565b60006020828403121561546f57600080fd5b81516001600160801b0381168114614d4857600080fd5b81810381811115611bf557611bf56153ef565b80820180821115611bf557611bf56153ef565b634e487b7160e01b600052601260045260246000fd5b6000826154d1576154d16154ac565b500690565b8082028115828204841417611bf557611bf56153ef565b6000826154fc576154fc6154ac565b500490565b600060e082840312801561551457600080fd5b50600061551f614bc3565b835161552a81614f07565b8152602084015161553a81614b98565b6020820152604084015161554d81614c41565b6040820152606084810151908201526080808501519082015261557260a08501615163565b60a082015260c084015160098110615588578283fd5b60c0820152949350505050565b6000602082840312156155a757600080fd5b8151614d4881614ef8565b6000602082840312156155c457600080fd5b8151614d4881614b98565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220c1558c8d82312d548e6c67ce28bb14c3ada08b985f4cfbf2450f17bc172e8b0864736f6c634300081a0033