0 txs
26 calls
constructor
No constructor.
functions
accountByReferralCode
viewfunction accountByReferralCode(uint256) view returns (address)
accountByUserId
viewfunction accountByUserId(uint256) view returns (address)
config
viewfunction config() view returns (uint256 nextUserId, uint256 deploymentTimestamp, uint256 minimumDeposit, uint256 epochSeconds)
DECIMALS
viewfunction DECIMALS() view returns (uint256)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
FULL_BASIS_POINTS
viewfunction FULL_BASIS_POINTS() view returns (uint256)
getEpoch
viewfunction getEpoch() view returns (uint256)
getIndex
viewfunction getIndex(uint256 userId, uint256 epoch) view returns (uint256)
getReferralCode
viewfunction getReferralCode(address user) view returns (uint256)
getReferrer
viewfunction getReferrer(address user) view returns (address)
getReward
viewfunction getReward(uint256 userId) view returns (uint256)
getRewardInfo
viewfunction getRewardInfo(uint256 userId, uint256 epoch) view returns (uint256)
getRewardMultiplier
purefunction getRewardMultiplier(uint256 amount) pure returns (uint256)
getRewardUser
viewfunction getRewardUser(address user) view returns (uint256)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
getSplitAccount
viewfunction getSplitAccount(uint8 splitType) view returns (tuple)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
leaderboard
viewfunction leaderboard(uint256 count) view returns (address[] topReferrers, uint256[] topAmounts)
paused
viewfunction paused() view returns (bool)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
referralsByAccount
viewfunction referralsByAccount(address, uint256) view returns (uint256 epoch, address account, uint256 amount)
referrers
viewfunction referrers(uint256) view returns (address)
referrersByAccount
viewfunction referrersByAccount(address) view returns (address)
referrerTotals
viewfunction referrerTotals(address) view returns (uint256)
SERVICE_ROLE
viewfunction SERVICE_ROLE() view returns (bytes32)
stats
viewfunction stats() view returns (uint256 userCount, uint256 depositCount, uint256 depositTotal, uint256 claimCount, uint256 claimTotal, uint256 referralCount, uint256 referralTotal)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
transactions
viewfunction transactions(uint256) view returns (uint256 firstEpoch)
UPGRADER_ROLE
viewfunction UPGRADER_ROLE() view returns (bytes32)
USDT
viewfunction USDT() view returns (address)
userIdByAccount
viewfunction userIdByAccount(address) view returns (uint256)
userReport
viewfunction userReport(address account) view returns (uint256 claimable, tuple[] ledger)
changeSplitAccount
nonpayablefunction changeSplitAccount(uint8 splitType, address account, uint256 basisPoints, uint256 refBasisPoints)
claim
nonpayablefunction claim()
deposit
nonpayablefunction deposit(uint256 amount, uint256 code)
deposit
nonpayablefunction deposit(uint256 amount)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize()
pause
nonpayablefunction pause()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setEpochSeconds
nonpayablefunction setEpochSeconds(uint256 secs)
setMinimumDeposit
nonpayablefunction setMinimumDeposit(uint256 amount)
setSplitAccount
nonpayablefunction setSplitAccount(uint8 splitType, address account, uint256 basisPoints, uint256 refBasisPoints)
setUsdt
nonpayablefunction setUsdt(address usdt)
unpause
nonpayablefunction unpause()
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Claim
event Claim(uint256 indexed userId, address indexed account, uint256 indexed amount, uint256 epoch)
Deposit
event Deposit(uint256 indexed userId, address indexed account, uint256 indexed amount, uint256 epoch)
Initialized
event Initialized(uint8 version)
Paused
event Paused(address account)
Referral
event Referral(uint256 indexed userId, address indexed account, uint256 amount, uint256 epoch, address indexed referrer)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
Unpaused
event Unpaused(address account)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a06040523060805234801561001457600080fd5b50608051613a6c61004c60003960008181610e3a01528181610e7a015281816113410152818161138101526114100152613a6c6000f3fe6080604052600436106102935760003560e01c80636e21be331161015a578063b6b55f25116100c1578063d80528ae1161007a578063d80528ae146108c7578063e2bbb15814610932578063e78ec42e14610952578063e874df2f14610972578063f72c0d8b146109a9578063ffa04d1e146109dd57600080fd5b8063b6b55f25146107ea578063b7de47d31461080a578063bf3683991461082a578063c54e44eb14610858578063cb85fc6e14610879578063d547741f146108a757600080fd5b806392c403441161011357806392c40344146106ee57806398e071431461070e5780639ace38c2146107455780639dfe567514610773578063a20e7d47146107a1578063a217fddf146107d557600080fd5b80636e21be3314610628578063757991a81461064857806379502c551461065d5780638129fc1c146106a45780638456cb59146106b957806391d14854146106ce57600080fd5b80633ad90650116101fe578063569bb2e2116101b7578063569bb2e21461056c57806358979bfe1461058c578063591429fb146105ac5780635c975abb146105da578063602d3a53146105f257806369aff7e31461061257600080fd5b80633ad906501461049d5780633f4ba83a146104e05780634a9fefc7146104f55780634e71d92d1461052f5780634f1ef2861461054457806352d1902d1461055757600080fd5b80632021d286116102505780632021d28614610395578063248a9ca3146103f15780632e0f2625146104215780632f2ff15d1461043d57806336568abe1461045d5780633659cfe61461047d57600080fd5b806301c7224f1461029857806301ffc9a7146102d557806304a8cc98146103055780630a812c29146103335780631ade66c3146103555780631c4b774b14610375575b600080fd5b3480156102a457600080fd5b506102b86102b33660046133c6565b610a14565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156102e157600080fd5b506102f56102f03660046133df565b610a3f565b60405190151581526020016102cc565b34801561031157600080fd5b50610325610320366004613409565b610a50565b6040519081526020016102cc565b34801561033f57600080fd5b5061035361034e3660046133c6565b610b94565b005b34801561036157600080fd5b50610353610370366004613451565b610ba6565b34801561038157600080fd5b506103256103903660046133c6565b610ce0565b3480156103a157600080fd5b506103b56103b0366004613493565b610cee565b6040516102cc919081516001600160a01b0316815260208083015190820152604080830151908201526060918201519181019190915260800190565b3480156103fd57600080fd5b5061032561040c3660046133c6565b60009081526065602052604090206001015490565b34801561042d57600080fd5b50610325670de0b6b3a764000081565b34801561044957600080fd5b506103536104583660046134ae565b610d88565b34801561046957600080fd5b506103536104783660046134ae565b610db2565b34801561048957600080fd5b506103536104983660046134da565b610e30565b3480156104a957600080fd5b506104bd6104b83660046134f5565b610f0f565b604080519384526001600160a01b039092166020840152908201526060016102cc565b3480156104ec57600080fd5b50610353610f5c565b34801561050157600080fd5b506102b86105103660046134da565b6001600160a01b03908116600090815261017160205260409020541690565b34801561053b57600080fd5b50610353610f6f565b610353610552366004613535565b611337565b34801561056357600080fd5b50610325611403565b34801561057857600080fd5b506103256105873660046133c6565b6114b6565b34801561059857600080fd5b506103536105a73660046134da565b61153e565b3480156105b857600080fd5b506105cc6105c73660046134da565b61156d565b6040516102cc9291906135f7565b3480156105e657600080fd5b5060975460ff166102f5565b3480156105fe57600080fd5b5061035361060d366004613451565b611657565b34801561061e57600080fd5b5061032561271081565b34801561063457600080fd5b506103256106433660046134da565b6117a4565b34801561065457600080fd5b506103256117e8565b34801561066957600080fd5b50610160546101615461016254610163546106849392919084565b6040805194855260208501939093529183015260608201526080016102cc565b3480156106b057600080fd5b50610353611859565b3480156106c557600080fd5b50610353611b3b565b3480156106da57600080fd5b506102f56106e93660046134ae565b611b4e565b3480156106fa57600080fd5b506103256107093660046134da565b611b79565b34801561071a57600080fd5b506102b86107293660046133c6565b61016c602052600090815260409020546001600160a01b031681565b34801561075157600080fd5b506103256107603660046133c6565b61016e6020526000908152604090205481565b34801561077f57600080fd5b5061032561078e3660046134da565b61016d6020526000908152604090205481565b3480156107ad57600080fd5b506103257fd8a7a79547af723ee3e12b59a480111268d8969c634e1a34a144d2c8b91d635b81565b3480156107e157600080fd5b50610325600081565b3480156107f657600080fd5b506103536108053660046133c6565b611ba1565b34801561081657600080fd5b50610325610825366004613409565b611bad565b34801561083657600080fd5b5061084a6108453660046133c6565b611be1565b6040516102cc929190613678565b34801561086457600080fd5b5061015f546102b8906001600160a01b031681565b34801561088557600080fd5b506103256108943660046134da565b6101706020526000908152604090205481565b3480156108b357600080fd5b506103536108c23660046134ae565b611f98565b3480156108d357600080fd5b5061016454610165546101665461016754610168546101695461016a546108fd9695949392919087565b604080519788526020880196909652948601939093526060850191909152608084015260a083015260c082015260e0016102cc565b34801561093e57600080fd5b5061035361094d366004613409565b611fbd565b34801561095e57600080fd5b5061035361096d3660046133c6565b612042565b34801561097e57600080fd5b506102b861098d3660046134da565b610171602052600090815260409020546001600160a01b031681565b3480156109b557600080fd5b506103257f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b3480156109e957600080fd5b506102b86109f83660046133c6565b610172602052600090815260409020546001600160a01b031681565b61016f8181548110610a2557600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610a4a826120af565b92915050565b60008083118015610a615750600082115b15610b8b57600083815261016e60205260408120600190810180549091610a8791613712565b81548110610a9757610a97613725565b90600052602060002090600602016040518060c00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481525050905080600001518303610b03576000915050610a4a565b600084815261016e60205260408120600190810180549091610b2491613712565b81548110610b3457610b34613725565b90600052602060002090600602016002015490506000610b548686611bad565b9050620186a0610b63836114b6565b610b6d838561373b565b610b77919061373b565b610b819190613768565b9350505050610a4a565b50600092915050565b6000610b9f816120e4565b5061016355565b6000610bb1816120e4565b6001600160a01b038416610bfe5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b60448201526064015b60405180910390fd5b61271083108015610c10575061271082105b610c4b5760405162461bcd60e51b815260206004820152600c60248201526b45786365656473203130302560a01b6044820152606401610bf5565b6040518060800160405280856001600160a01b03168152602001848152602001838152602001600081525061016b6000876007811115610c8d57610c8d61377c565b81526020808201929092526040908101600020835181546001600160a01b0319166001600160a01b0390911617815591830151600183015582015160028201556060909101516003909101555050505050565b6000610a4a826103206117e8565b610d22604051806080016040528060006001600160a01b031681526020016000815260200160008152602001600081525090565b61016b6000836007811115610d3957610d3961377c565b81526020808201929092526040908101600020815160808101835281546001600160a01b0316815260018201549381019390935260028101549183019190915260030154606082015292915050565b600082815260656020526040902060010154610da3816120e4565b610dad83836120ee565b505050565b6001600160a01b0381163314610e225760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610bf5565b610e2c8282612174565b5050565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003610e785760405162461bcd60e51b8152600401610bf590613792565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610ec16000805160206139f0833981519152546001600160a01b031690565b6001600160a01b031614610ee75760405162461bcd60e51b8152600401610bf5906137de565b610ef0816121db565b60408051600080825260208201909252610f0c91839190612205565b50565b6101736020528160005260406000208181548110610f2c57600080fd5b60009182526020909120600390910201805460018201546002909201549093506001600160a01b03909116915083565b6000610f67816120e4565b610f0c612370565b610f776123c2565b33600081815261016d602052604090205480610fc65760405162461bcd60e51b815260206004820152600e60248201526d155cd95c881b9bdd08199bdd5b9960921b6044820152606401610bf5565b6000610fd06117e8565b90506000610fde8383610a50565b90506000610fec8484611bad565b600085815261016e602052604081206001908101805493945091926110119190613712565b8154811061102157611021613725565b600091825260208083206002600690930201919091015487835261016e90915260408220600190810180549294509161105a9190613712565b8154811061106a5761106a613725565b90600052602060002090600602016003015490508184111561108a578193505b600084116110cd5760405162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b6044820152606401610bf5565b600086815261016e6020908152604091829020825160c0810184528881529182018690526001019181016111018786613712565b8152602001611110878561382a565b81526000602080830182905260409283018990528454600180820187559583529181902084516006909302019182558301519381019390935581810151600284015560608201516003840155608082015160048085019190915560a09092015160059093019290925561015f5491516370a0823160e01b8152309181019190915285916001600160a01b0316906370a0823190602401602060405180830381865afa1580156111c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111e7919061383d565b10156112355760405162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e74207061796f75742066756e6473000000000000006044820152606401610bf5565b61015f5460405163a9059cbb60e01b81526001600160a01b038981166004830152602482018790529091169063a9059cbb906044016020604051808303816000875af1158015611289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ad9190613856565b508361016460040160008282546112c4919061382a565b909155505061016780549060006112da83613878565b919050555083876001600160a01b0316877fd27486cbbd902c694ff070c4b52eb23c8f7828d3688bd3c7293638daec2888088860405161131c91815260200190565b60405180910390a450505050505050611335600160c955565b565b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016300361137f5760405162461bcd60e51b8152600401610bf590613792565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166113c86000805160206139f0833981519152546001600160a01b031690565b6001600160a01b0316146113ee5760405162461bcd60e51b8152600401610bf5906137de565b6113f7826121db565b610e2c82826001612205565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146114a35760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610bf5565b506000805160206139f083398151915290565b6000806114cb670de0b6b3a764000084613768565b905061c3508110156114e157506101f492915050565b6203d0908110156114f657506101c292915050565b6207a12081101561150b57506101a992915050565b620b71b0811015611520575061017792915050565b620f4240811015611535575061014592915050565b5060fa92915050565b6000611549816120e4565b5061015f80546001600160a01b0319166001600160a01b0392909216919091179055565b600060606001600160a01b03831615611652576001600160a01b038316600090815261016d6020526040902054801561165057600081815261016e6020908152604080832060010180548251818502810185019093528083529193909284015b8282101561163b57838290600052602060002090600602016040518060c00160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152602001600582015481525050815260200190600101906115cd565b50505050915061164d816103206117e8565b92505b505b915091565b6000611662816120e4565b6001600160a01b0384166116aa5760405162461bcd60e51b815260206004820152600f60248201526e125b9d985b1a59081858d8dbdd5b9d608a1b6044820152606401610bf5565b612710831080156116bc575061271082105b6116f75760405162461bcd60e51b815260206004820152600c60248201526b45786365656473203130302560a01b6044820152606401610bf5565b8361016b600087600781111561170f5761170f61377c565b815260200190815260200160002060000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508261016b600087600781111561175c5761175c61377c565b8152602001908152602001600020600101819055508161016b60008760078111156117895761178961377c565b81526020810191909152604001600020600201555050505050565b60006001600160a01b038216156117db576001600160a01b038216600090815261016d6020526040902054610a4a906103206117e8565b506000919050565b919050565b6101615460009061182d5760405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b9a5d1a585b1a5e9959608a1b6044820152606401610bf5565b610163546101615461183f9042613712565b6118499190613768565b61185490600161382a565b905090565b600054610100900460ff16158080156118795750600054600160ff909116105b806118935750303b158015611893575060005460ff166001145b6118f65760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610bf5565b6000805460ff191660011790558015611919576000805461ff0019166101001790555b611921612422565b611929612449565b611931612478565b611939612422565b6119446000336124a7565b611963600073e1b8dc9924f453c299d1a43bd8a574fb414615556124a7565b61198d7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3336124a7565b6119b77fd8a7a79547af723ee3e12b59a480111268d8969c634e1a34a144d2c8b91d635b336124a7565b60016101605542610161556119cc60c8612042565b6119d862015180610b94565b6119fb600073dd0de6583e49e2a9890a0da010ec1036965f71f561096080610ba6565b611a1e6002730baf38dc7fca07a58c64f657ffccb471da1de0a461096080610ba6565b611a42600473c43fa4f44e58c3e01e6148242ebdfdff920b02cc6103206000610ba6565b611a66600573e42f3a5c4e0b73a026e70e65a17daf78f0e4e24c6101f46064610ba6565b611a89600773ffe371666f9e647fc7f38563647c3883abe193d16101f480610ba6565b611aad6001731d607d8c617a09c638309be2ceb9b4aff42236da6101906000610ba6565b611ad16003733ccac6df41eb5e67423256dce90095d1819303d76101906000610ba6565b611af3600673903df903cd3faffc32beaf78127ca5193dfcadce60c880610ba6565b8015610f0c576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150565b6000611b46816120e4565b610f0c6124b1565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6001600160a01b038116600090815261016d6020526040812054156117db57610a4a826124ee565b610f0c81336000612514565b60008215610b8b57600083815261016e6020526040902054611bcf9083613712565b611bda90600161382a565b9050610a4a565b61016f5460609081906000849003611bf857600a93505b80841115611c04578093505b60008167ffffffffffffffff811115611c1f57611c1f61351f565b604051908082528060200260200182016040528015611c48578160200160208202803683370190505b50905060005b82811015611cc45761016f8181548110611c6a57611c6a613725565b9060005260206000200160009054906101000a90046001600160a01b0316828281518110611c9a57611c9a613725565b6001600160a01b039092166020928302919091019091015280611cbc81613878565b915050611c4e565b5060005b611cd3600184613712565b811015611e3f5760005b6001611ce98386613712565b611cf39190613712565b811015611e2c57610170600084611d0b84600161382a565b81518110611d1b57611d1b613725565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020546101706000858481518110611d5b57611d5b613725565b60200260200101516001600160a01b03166001600160a01b03168152602001908152602001600020541015611e1a5782611d9682600161382a565b81518110611da657611da6613725565b6020026020010151838281518110611dc057611dc0613725565b6020026020010151848381518110611dda57611dda613725565b6020026020010185846001611def919061382a565b81518110611dff57611dff613725565b6001600160a01b039384166020918202929092010152911690525b80611e2481613878565b915050611cdd565b5080611e3781613878565b915050611cc8565b508467ffffffffffffffff811115611e5957611e5961351f565b604051908082528060200260200182016040528015611e82578160200160208202803683370190505b5093508467ffffffffffffffff811115611e9e57611e9e61351f565b604051908082528060200260200182016040528015611ec7578160200160208202803683370190505b50925060005b85811015611f9057818181518110611ee757611ee7613725565b6020026020010151858281518110611f0157611f01613725565b60200260200101906001600160a01b031690816001600160a01b0316815250506101706000838381518110611f3857611f38613725565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054848281518110611f7357611f73613725565b602090810291909101015280611f8881613878565b915050611ecd565b505050915091565b600082815260656020526040902060010154611fb3816120e4565b610dad8383612174565b801561201e57629896808110158015611fda57506305f5e0ff8111155b61201e5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420726566657272616c20636f646560581b6044820152606401610bf5565b600081815261017260205260409020546001600160a01b0316610dad833383612514565b600061204d816120e4565b600082116120955760405162461bcd60e51b8152602060048201526015602482015274416d6f756e742063616e6e6f74206265207a65726f60581b6044820152606401610bf5565b6120a7670de0b6b3a76400008361373b565b610162555050565b60006001600160e01b03198216637965db0b60e01b1480610a4a57506301ffc9a760e01b6001600160e01b0319831614610a4a565b610f0c8133612c1a565b6120f88282611b4e565b610e2c5760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556121303390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61217e8282611b4e565b15610e2c5760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610e2c816120e4565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561223857610dad83612c73565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015612292575060408051601f3d908101601f1916820190925261228f9181019061383d565b60015b6122f55760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610bf5565b6000805160206139f083398151915281146123645760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610bf5565b50610dad838383612d0f565b612378612d3a565b6097805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b600260c954036124145760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610bf5565b600260c955565b600160c955565b600054610100900460ff166113355760405162461bcd60e51b8152600401610bf590613891565b600054610100900460ff166124705760405162461bcd60e51b8152600401610bf590613891565b611335612d83565b600054610100900460ff1661249f5760405162461bcd60e51b8152600401610bf590613891565b611335612db6565b610e2c82826120ee565b6124b9612ddd565b6097805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586123a53390565b600061250763055d4a806001600160a01b0384166138dc565b610a4a906298968061382a565b61251c6123c2565b6101625483101561256f5760405162461bcd60e51b815260206004820152601860248201527f416d6f756e74206c657373207468616e206d696e696d756d00000000000000006044820152606401610bf5565b6001600160a01b038216600090815261016d602052604090205415801561259e57506001600160a01b03811615155b1561272157816001600160a01b0316816001600160a01b0316036126045760405162461bcd60e51b815260206004820152601760248201527f557365722063616e6e6f742062652072656665727265720000000000000000006044820152606401610bf5565b6001600160a01b038116600090815261016d60205260409020546126795760405162461bcd60e51b815260206004820152602660248201527f5265666572726572206d757374206465706f736974206265666f726520726566604482015265657272696e6760d01b6064820152608401610bf5565b6001600160a01b0382811660009081526101716020908152604080832080546001600160a01b0319169486169485179055928252610170905290812054900361271c5761016f805460018101825560009182527f47d2f800c57de5c44dff408e225b320f1ea140ca87907f0726fd6049ee5595d70180546001600160a01b0319166001600160a01b03841617905561016980549161271683613878565b91905055505b612725565b5060005b61015f546040516323b872dd60e01b81526001600160a01b03848116600483015230602483015260448201869052909116906323b872dd906064016020604051808303816000875af115801561277f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127a39190613856565b5060006127b08483612e23565b90508361016460020160008282546127c8919061382a565b909155505061016580549060006127de83613878565b91905055506000806127ee6117e8565b6001600160a01b038616600090815261016d60205260408120549192500361292b576101608054600081815261016c6020908152604080832080546001600160a01b0319166001600160a01b038c16908117909155835261016d825280832084905583835261016e9091528120849055825491945090919061286f83613878565b9091555050610164805490600061288583613878565b91905055506000612895866124ee565b600081815261017260205260409020549091506001600160a01b0316156128fe5760405162461bcd60e51b815260206004820152601a60248201527f526566657272616c20636f646520616c726561647920757365640000000000006044820152606401610bf5565b60009081526101726020526040902080546001600160a01b0319166001600160a01b038716179055612948565b6001600160a01b038516600090815261016d602052604090205491505b60006129548383611bad565b90506000816001146129cb5761296f84610320600186613712565b600085815261016e60205260409020600190810180548b9261299091613712565b815481106129a0576129a0613725565b9060005260206000209060060201600201546129bc919061382a565b6129c6919061382a565b6129cd565b875b9050600082600114612a2157600085815261016e602052604090206001908101805490916129fa91613712565b81548110612a0a57612a0a613725565b906000526020600020906006020160030154612a24565b60005b905061016e60008681526020019081526020016000206001016040518060c001604052808681526020018581526020018481526020018381526020018b815260200160008152509080600181540180825580915050600190039060005260206000209060060201600090919091909150600082015181600001556020820151816001015560408201518160020155606082015181600301556080820151816004015560a08201518160050155505088886001600160a01b0316867fd36a2f67d06d285786f61a32b052b9ace6b0b7abef5177b54358abdc83a0b69b87604051612b0f91815260200190565b60405180910390a46001600160a01b03871615612c0a576001600160a01b0387811660008181526101736020908152604080832081516060810183528a81528e87168185018181528285018f815284546001808201875595895297879020935160039098029093019687555192860180546001600160a01b0319169390981692909217909655945160029093019290925581518a815290810188905291929188917fc6bde62c2e879a24a7a89cfbc56df3a323d150bf57cc967bddfebb095eedea09910160405180910390a46001600160a01b0387166000908152610170602052604081208054889290612c0490849061382a565b90915550505b505050505050610dad600160c955565b612c248282611b4e565b610e2c57612c318161308e565b612c3c8360206130a0565b604051602001612c4d929190613914565b60408051601f198184030181529082905262461bcd60e51b8252610bf591600401613989565b6001600160a01b0381163b612ce05760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610bf5565b6000805160206139f083398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612d1883613243565b600082511180612d255750805b15610dad57612d348383613283565b50505050565b60975460ff166113355760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152606401610bf5565b600054610100900460ff16612daa5760405162461bcd60e51b8152600401610bf590613891565b6097805460ff19169055565b600054610100900460ff1661241b5760405162461bcd60e51b8152600401610bf590613891565b60975460ff16156113355760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606401610bf5565b60008060005b600a811015612fd257600081815261016b6020526040902060010154151580612e635750600081815261016b602052604090206002015415155b15612fc05760006001600160a01b038516612e9057600082815261016b6020526040902060010154612ea4565b600082815261016b60205260409020600201545b90506001600160a01b038516612ebb576000612edf565b600082815261016b602052604090206002810154600190910154612edf9190613712565b612ee9908461382a565b92506000612710612efa838961373b565b612f049190613768565b90508015612fbd5761015f54600084815261016b60205260409081902054905163a9059cbb60e01b81526001600160a01b0391821660048201526024810184905291169063a9059cbb906044016020604051808303816000875af1158015612f70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f949190613856565b50600083815261016b602052604081206003018054839290612fb790849061382a565b90915550505b50505b80612fca81613878565b915050612e29565b50801561308757612710612fe6828661373b565b612ff09190613768565b61015f5460405163a9059cbb60e01b81526001600160a01b0386811660048301526024820184905292945091169063a9059cbb906044016020604051808303816000875af1158015613046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061306a9190613856565b50816101646006016000828254613081919061382a565b90915550505b5092915050565b6060610a4a6001600160a01b03831660145b606060006130af83600261373b565b6130ba90600261382a565b67ffffffffffffffff8111156130d2576130d261351f565b6040519080825280601f01601f1916602001820160405280156130fc576020820181803683370190505b509050600360fc1b8160008151811061311757613117613725565b60200101906001600160f81b031916908160001a905350600f60fb1b8160018151811061314657613146613725565b60200101906001600160f81b031916908160001a905350600061316a84600261373b565b61317590600161382a565b90505b60018111156131ed576f181899199a1a9b1b9c1cb0b131b232b360811b85600f16601081106131a9576131a9613725565b1a60f81b8282815181106131bf576131bf613725565b60200101906001600160f81b031916908160001a90535060049490941c936131e6816139bc565b9050613178565b50831561323c5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610bf5565b9392505050565b61324c81612c73565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061323c8383604051806060016040528060278152602001613a10602791396060600080856001600160a01b0316856040516132c091906139d3565b600060405180830381855af49150503d80600081146132fb576040519150601f19603f3d011682016040523d82523d6000602084013e613300565b606091505b50915091506133118683838761331b565b9695505050505050565b6060831561338a578251600003613383576001600160a01b0385163b6133835760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610bf5565b5081613394565b613394838361339c565b949350505050565b8151156133ac5781518083602001fd5b8060405162461bcd60e51b8152600401610bf59190613989565b6000602082840312156133d857600080fd5b5035919050565b6000602082840312156133f157600080fd5b81356001600160e01b03198116811461323c57600080fd5b6000806040838503121561341c57600080fd5b50508035926020909101359150565b8035600881106117e357600080fd5b80356001600160a01b03811681146117e357600080fd5b6000806000806080858703121561346757600080fd5b6134708561342b565b935061347e6020860161343a565b93969395505050506040820135916060013590565b6000602082840312156134a557600080fd5b61323c8261342b565b600080604083850312156134c157600080fd5b823591506134d16020840161343a565b90509250929050565b6000602082840312156134ec57600080fd5b61323c8261343a565b6000806040838503121561350857600080fd5b6135118361343a565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561354857600080fd5b6135518361343a565b9150602083013567ffffffffffffffff8082111561356e57600080fd5b818501915085601f83011261358257600080fd5b8135818111156135945761359461351f565b604051601f8201601f19908116603f011681019083821181831017156135bc576135bc61351f565b816040528281528860208487010111156135d557600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060408083018584526020828186015281865180845260609350838701915082880160005b82811015613669578151805185528581015186860152878101518886015286810151878601526080808201519086015260a0908101519085015260c0909301929084019060010161361d565b50919998505050505050505050565b604080825283519082018190526000906020906060840190828701845b828110156136ba5781516001600160a01b031684529284019290840190600101613695565b5050508381038285015284518082528583019183019060005b818110156136ef578351835292840192918401916001016136d3565b5090979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115610a4a57610a4a6136fc565b634e487b7160e01b600052603260045260246000fd5b8082028115828204841417610a4a57610a4a6136fc565b634e487b7160e01b600052601260045260246000fd5b60008261377757613777613752565b500490565b634e487b7160e01b600052602160045260246000fd5b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b80820180821115610a4a57610a4a6136fc565b60006020828403121561384f57600080fd5b5051919050565b60006020828403121561386857600080fd5b8151801515811461323c57600080fd5b60006001820161388a5761388a6136fc565b5060010190565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000826138eb576138eb613752565b500690565b60005b8381101561390b5781810151838201526020016138f3565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161394c8160178501602088016138f0565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161397d8160288401602088016138f0565b01602801949350505050565b60208152600082518060208401526139a88160408501602087016138f0565b601f01601f19169190910160400192915050565b6000816139cb576139cb6136fc565b506000190190565b600082516139e58184602087016138f0565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212208faffff1503121e866df103604b691e085fff0e13709b87317668b8d553c2ae164736f6c63430008110033