[ { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" }, { "indexed": true, "internalType": "bool", "name": "automatic", "type": "bool" } ], "name": "Claim", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newValue", "type": "uint256" }, { "indexed": true, "internalType": "uint256", "name": "oldValue", "type": "uint256" } ], "name": "ClaimWaitUpdated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "weiAmount", "type": "uint256" } ], "name": "DividendWithdrawn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "weiAmount", "type": "uint256" } ], "name": "DividendsDistributed", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" } ], "name": "ExcludeFromDividends", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "accumulativeDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "claimWait", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "distributeCAKEDividends", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "dividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "excludeFromDividends", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "excludedFromDividends", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "getAccount", "outputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "int256", "name": "index", "type": "int256" }, { "internalType": "int256", "name": "iterationsUntilProcessed", "type": "int256" }, { "internalType": "uint256", "name": "withdrawableDividends", "type": "uint256" }, { "internalType": "uint256", "name": "totalDividends", "type": "uint256" }, { "internalType": "uint256", "name": "lastClaimTime", "type": "uint256" }, { "internalType": "uint256", "name": "nextClaimTime", "type": "uint256" }, { "internalType": "uint256", "name": "secondsUntilAutoClaimAvailable", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "getAccountAtIndex", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "int256", "name": "", "type": "int256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getLastProcessedIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getNumberOfTokenHolders", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "rewardToken_", "type": "address" }, { "internalType": "uint256", "name": "minimumTokenBalanceForDividends_", "type": "uint256" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "lastClaimTimes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastProcessedIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "minimumTokenBalanceForDividends", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "gas", "type": "uint256" } ], "name": "process", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "account", "type": "address" }, { "internalType": "bool", "name": "automatic", "type": "bool" } ], "name": "processAccount", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "rewardToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address payable", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "setBalance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalDividendsDistributed", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "address", "name": "recipient", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "newClaimWait", "type": "uint256" } ], "name": "updateClaimWait", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdrawDividend", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "withdrawableDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "withdrawnDividendOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
608060405234801561001057600080fd5b506127e7806100206000396000f3fe608060405234801561001057600080fd5b50600436106102275760003560e01c80638da5cb5b11610130578063be10b614116100b8578063e98030c71161007c578063e98030c7146106b2578063f2fde38b146106cf578063f7c618c1146106f5578063fbcbc0f1146106fd578063ffb2c4791461072357610227565b8063be10b6141461061c578063cd6dc68714610624578063dd62ed3e14610650578063e30443bc1461067e578063e7841ec0146106aa57610227565b8063a8b9d240116100ff578063a8b9d24014610559578063a9059cbb1461057f578063aafd847a146105ab578063ba72a955146105d1578063bc4c4b37146105ee57610227565b80638da5cb5b146104db57806391b89fba146104ff57806395d89b4114610525578063a457c2d71461052d57610227565b806331e79db0116101b35780636a474002116101825780636a474002146104955780636f2789ec1461049d57806370a08231146104a5578063715018a6146104cb57806385a6b3ae146104d357610227565b806331e79db0146103b357806339509351146103db5780634e7b827f146104075780635183d6fd1461042d57610227565b8063226cfa3d116101fa578063226cfa3d1461030b57806323b872dd1461033157806327ce0147146103675780633009a6091461038d578063313ce5671461039557610227565b806306fdde031461022c578063095ea7b3146102a957806309bbedde146102e957806318160ddd14610303575b600080fd5b61023461075e565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026e578181015183820152602001610256565b50505050905090810190601f16801561029b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d5600480360360408110156102bf57600080fd5b506001600160a01b0381351690602001356107f4565b604080519115158252519081900360200190f35b6102f1610812565b60408051918252519081900360200190f35b6102f1610818565b6102f16004803603602081101561032157600080fd5b50356001600160a01b031661081e565b6102d56004803603606081101561034757600080fd5b506001600160a01b03813581169160208101359091169060400135610830565b6102f16004803603602081101561037d57600080fd5b50356001600160a01b03166108b7565b6102f1610916565b61039d61091c565b6040805160ff9092168252519081900360200190f35b6103d9600480360360208110156103c957600080fd5b50356001600160a01b0316610925565b005b6102d5600480360360408110156103f157600080fd5b506001600160a01b038135169060200135610a8b565b6102d56004803603602081101561041d57600080fd5b50356001600160a01b0316610ad9565b61044a6004803603602081101561044357600080fd5b5035610aee565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6103d9610c4d565b6102f1610c84565b6102f1600480360360208110156104bb57600080fd5b50356001600160a01b0316610c8a565b6103d9610ca5565b6102f1610d51565b6104e3610d57565b604080516001600160a01b039092168252519081900360200190f35b6102f16004803603602081101561051557600080fd5b50356001600160a01b0316610d66565b610234610d71565b6102d56004803603604081101561054357600080fd5b506001600160a01b038135169060200135610dd2565b6102f16004803603602081101561056f57600080fd5b50356001600160a01b0316610e3a565b6102d56004803603604081101561059557600080fd5b506001600160a01b038135169060200135610e66565b6102f1600480360360208110156105c157600080fd5b50356001600160a01b0316610e7a565b6103d9600480360360208110156105e757600080fd5b5035610e95565b6102d56004803603604081101561060457600080fd5b506001600160a01b0381351690602001351515610f89565b6102f1611068565b6103d96004803603604081101561063a57600080fd5b506001600160a01b03813516906020013561106e565b6102f16004803603604081101561066657600080fd5b506001600160a01b0381358116916020013516611178565b6103d96004803603604081101561069457600080fd5b506001600160a01b0381351690602001356111a3565b6102f1611357565b6103d9600480360360208110156106c857600080fd5b503561135d565b6103d9600480360360208110156106e557600080fd5b50356001600160a01b0316611483565b6104e3611586565b61044a6004803603602081101561071357600080fd5b50356001600160a01b0316611595565b6107406004803603602081101561073957600080fd5b5035611708565b60408051938452602084019290925282820152519081900360600190f35b60368054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107ea5780601f106107bf576101008083540402835291602001916107ea565b820191906000526020600020905b8154815290600101906020018083116107cd57829003601f168201915b5050505050905090565b6000610808610801611806565b848461180a565b5060015b92915050565b609c5490565b60355490565b60a26020526000908152604090205481565b600061083d8484846118f6565b6108ad84610849611806565b6108a8856040518060600160405280602881526020016126a3602891396001600160a01b038a16600090815260346020526040812090610887611806565b6001600160a01b03168152602081019190915260400160002054919061192d565b61180a565b5060019392505050565b6001600160a01b038116600090815260996020526040812054600160801b9061090690610901906108fb6108f66108ed88610c8a565b609854906119c4565b611a24565b90611a34565b611a67565b8161090d57fe5b0490505b919050565b60a05481565b60385460ff1690565b61092d611806565b6001600160a01b031661093e610d57565b6001600160a01b031614610987576040805162461bcd60e51b815260206004820181905260248201526000805160206126cb833981519152604482015290519081900360640190fd5b6001600160a01b038116600090815260a1602052604090205460ff16156109ad57600080fd5b6001600160a01b038116600090815260a160205260408120805460ff191660011790556109db908290611a7a565b6040805163131836e760e21b8152609c60048201526001600160a01b03831660248201529051733338cca60f829fa7139656bb910c63d44afd270a91634c60db9c916044808301926000929190829003018186803b158015610a3c57600080fd5b505af4158015610a50573d6000803e3d6000fd5b50506040516001600160a01b03841692507fa878b31040b2e6d0a9a3d3361209db3908ba62014b0dca52adbaee451d128b259150600090a250565b6000610808610a98611806565b846108a88560346000610aa9611806565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490611ad3565b60a16020526000908152604090205460ff1681565b600080600080600080600080609c733338cca60f829fa7139656bb910c63d44afd270a63deb3d89690916040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b4c57600080fd5b505af4158015610b60573d6000803e3d6000fd5b505050506040513d6020811015610b7657600080fd5b50518910610b9d575060009650600019955085945086935083925082915081905080610c42565b6000609c733338cca60f829fa7139656bb910c63d44afd270a63d1aa9e7e90918c6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015610bf957600080fd5b505af4158015610c0d573d6000803e3d6000fd5b505050506040513d6020811015610c2357600080fd5b50519050610c3081611595565b98509850985098509850985098509850505b919395975091939597565b60405162461bcd60e51b81526004018080602001828103825260658152602001806125aa6065913960800191505060405180910390fd5b60a35481565b6001600160a01b031660009081526033602052604090205490565b610cad611806565b6001600160a01b0316610cbe610d57565b6001600160a01b031614610d07576040805162461bcd60e51b815260206004820181905260248201526000805160206126cb833981519152604482015290519081900360640190fd5b6065546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3606580546001600160a01b0319169055565b609b5481565b6065546001600160a01b031690565b600061080c82610e3a565b60378054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107ea5780601f106107bf576101008083540402835291602001916107ea565b6000610808610ddf611806565b846108a88560405180606001604052806025815260200161278d6025913960346000610e09611806565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919061192d565b6001600160a01b0381166000908152609a602052604081205461080c90610e60846108b7565b90611b2d565b6000610808610e73611806565b84846118f6565b6001600160a01b03166000908152609a602052604090205490565b610e9d611806565b6001600160a01b0316610eae610d57565b6001600160a01b031614610ef7576040805162461bcd60e51b815260206004820181905260248201526000805160206126cb833981519152604482015290519081900360640190fd5b6000610f01610818565b11610f0b57600080fd5b8015610f8657610f3c610f1c610818565b610f2a83600160801b6119c4565b81610f3157fe5b609854919004611ad3565b60985560408051828152905133917fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d78454116511919081900360200190a2609b54610f829082611ad3565b609b555b50565b6000610f93611806565b6001600160a01b0316610fa4610d57565b6001600160a01b031614610fed576040805162461bcd60e51b815260206004820181905260248201526000805160206126cb833981519152604482015290519081900360640190fd5b6000610ff884611b8a565b9050801561105e576001600160a01b038416600081815260a260209081526040918290204290558151848152915186151593927fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf09292908290030190a3600191505061080c565b5060009392505050565b60a45481565b600054610100900460ff16806110875750611087611cf9565b80611095575060005460ff16155b6110d05760405162461bcd60e51b815260040180806020018281038252602e81526020018061260f602e913960400191505060405180910390fd5b600054610100900460ff161580156110fb576000805460ff1961ff0019909116610100171660011790555b611156836040518060400160405280601081526020016f2224ab24a222a7222faa2920a1a5a2a960811b8152506040518060400160405280601081526020016f2224ab24a222a7222faa2920a1a5a2a960811b815250611d0a565b610e1060a35560a48290558015611173576000805461ff00191690555b505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b6111ab611806565b6001600160a01b03166111bc610d57565b6001600160a01b031614611205576040805162461bcd60e51b815260206004820181905260248201526000805160206126cb833981519152604482015290519081900360640190fd5b6001600160a01b038216600090815260a1602052604090205460ff161561122b57611353565b60a45481106112c35761123e8282611a7a565b60408051632f0ad01760e21b8152609c60048201526001600160a01b0384166024820152604481018390529051733338cca60f829fa7139656bb910c63d44afd270a9163bc2b405c916064808301926000929190829003018186803b1580156112a657600080fd5b505af41580156112ba573d6000803e3d6000fd5b50505050611348565b6112ce826000611a7a565b6040805163131836e760e21b8152609c60048201526001600160a01b03841660248201529051733338cca60f829fa7139656bb910c63d44afd270a91634c60db9c916044808301926000929190829003018186803b15801561132f57600080fd5b505af4158015611343573d6000803e3d6000fd5b505050505b611173826001610f89565b5050565b60a05490565b611365611806565b6001600160a01b0316611376610d57565b6001600160a01b0316146113bf576040805162461bcd60e51b815260206004820181905260248201526000805160206126cb833981519152604482015290519081900360640190fd5b610e1081101580156113d45750620151808111155b61140f5760405162461bcd60e51b815260040180806020018281038252604581526020018061263d6045913960600191505060405180910390fd5b60a3548114156114505760405162461bcd60e51b81526004018080602001828103825260378152602001806127566037913960400191505060405180910390fd5b60a35460405182907f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f90600090a360a355565b61148b611806565b6001600160a01b031661149c610d57565b6001600160a01b0316146114e5576040805162461bcd60e51b815260206004820181905260248201526000805160206126cb833981519152604482015290519081900360640190fd5b6001600160a01b03811661152a5760405162461bcd60e51b81526004018080602001828103825260268152602001806125626026913960400191505060405180910390fd5b6065546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3606580546001600160a01b0319166001600160a01b0392909216919091179055565b6097546001600160a01b031681565b600080600080600080600080889750609c733338cca60f829fa7139656bb910c63d44afd270a6317e142d190918a6040518363ffffffff1660e01b815260040180838152602001826001600160a01b031681526020019250505060206040518083038186803b15801561160757600080fd5b505af415801561161b573d6000803e3d6000fd5b505050506040513d602081101561163157600080fd5b505196506000199550600087126116955760a0548711156116615760a05461165a908890611ddb565b9550611695565b60a054609c5460009110611676576000611685565b60a054609c5461168591611b2d565b90506116918882611a34565b9650505b61169e88610e3a565b94506116a9886108b7565b6001600160a01b038916600090815260a260205260409020549094509250826116d35760006116e1565b60a3546116e1908490611ad3565b91504282116116f15760006116fb565b6116fb8242611b2d565b9050919395975091939597565b609c54600090819081908061172857505060a054600092508291506117ff565b60a0546000805a90506000805b898410801561174357508582105b156117ee57609c54600190950194851061175c57600094505b6000609c600001868154811061176e57fe5b60009182526020808320909101546001600160a01b031680835260a290915260409091205490915061179f90611e0d565b156117bb576117af816001610f89565b156117bb576001909101905b60019092019160005a9050808511156117e5576117e26117db8683611b2d565b8790611ad3565b95505b93506117359050565b60a085905590975095509193505050505b9193909250565b3390565b6001600160a01b03831661184f5760405162461bcd60e51b81526004018080602001828103825260248152602001806127326024913960400191505060405180910390fd5b6001600160a01b0382166118945760405162461bcd60e51b81526004018080602001828103825260228152602001806125886022913960400191505060405180910390fd5b6001600160a01b03808416600081815260346020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b60405162461bcd60e51b81526004018080602001828103825260268152602001806126eb6026913960400191505060405180910390fd5b600081848411156119bc5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611981578181015183820152602001611969565b50505050905090810190601f1680156119ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6000826119d35750600061080c565b828202828482816119e057fe5b0414611a1d5760405162461bcd60e51b81526004018080602001828103825260218152602001806126826021913960400191505060405180910390fd5b9392505050565b6000818181121561080c57600080fd5b6000828201818312801590611a495750838112155b80611a5e5750600083128015611a5e57508381125b611a1d57600080fd5b600080821215611a7657600080fd5b5090565b6000611a8583610c8a565b905080821115611aad576000611a9b8383611b2d565b9050611aa78482611e34565b50611173565b80821015611173576000611ac18284611b2d565b9050611acd8482611e98565b50505050565b600082820183811015611a1d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611b84576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080611b9683610e3a565b90508015611cf0576001600160a01b0383166000908152609a6020526040902054611bc19082611ad3565b6001600160a01b0384166000818152609a6020908152604091829020939093558051848152905191927fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d92918290030190a26097546040805163a9059cbb60e01b81526001600160a01b038681166004830152602482018590529151600093929092169163a9059cbb9160448082019260209290919082900301818787803b158015611c6c57600080fd5b505af1158015611c80573d6000803e3d6000fd5b505050506040513d6020811015611c9657600080fd5b5051905080611ce8576001600160a01b0384166000908152609a6020526040902054611cc29083611b2d565b6001600160a01b0385166000908152609a60205260408120919091559250610911915050565b509050610911565b50600092915050565b6000611d0430611edc565b15905090565b600054610100900460ff1680611d235750611d23611cf9565b80611d31575060005460ff16155b611d6c5760405162461bcd60e51b815260040180806020018281038252602e81526020018061260f602e913960400191505060405180910390fd5b600054610100900460ff16158015611d97576000805460ff1961ff0019909116610100171660011790555b611d9f611ee2565b611da98383611f93565b609780546001600160a01b0319166001600160a01b0386161790558015611acd576000805461ff001916905550505050565b6000818303818312801590611df05750838113155b80611a5e5750600083128015611a5e5750838113611a1d57600080fd5b600042821115611e1f57506000610911565b60a354611e2c4284611b2d565b101592915050565b611e3e8282612048565b611e78611e596108f6836098546119c490919063ffffffff16565b6001600160a01b03841660009081526099602052604090205490611ddb565b6001600160a01b0390921660009081526099602052604090209190915550565b611ea2828261213a565b611e78611ebd6108f6836098546119c490919063ffffffff16565b6001600160a01b03841660009081526099602052604090205490611a34565b3b151590565b600054610100900460ff1680611efb5750611efb611cf9565b80611f09575060005460ff16155b611f445760405162461bcd60e51b815260040180806020018281038252602e81526020018061260f602e913960400191505060405180910390fd5b600054610100900460ff16158015611f6f576000805460ff1961ff0019909116610100171660011790555b611f77612236565b611f7f6122d6565b8015610f86576000805461ff001916905550565b600054610100900460ff1680611fac5750611fac611cf9565b80611fba575060005460ff16155b611ff55760405162461bcd60e51b815260040180806020018281038252602e81526020018061260f602e913960400191505060405180910390fd5b600054610100900460ff16158015612020576000805460ff1961ff0019909116610100171660011790555b612028612236565b61203283836123cf565b8015611173576000805461ff0019169055505050565b6001600160a01b0382166120a3576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6120af60008383611173565b6035546120bc9082611ad3565b6035556001600160a01b0382166000908152603360205260409020546120e29082611ad3565b6001600160a01b03831660008181526033602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03821661217f5760405162461bcd60e51b81526004018080602001828103825260218152602001806127116021913960400191505060405180910390fd5b61218b82600083611173565b6121c881604051806060016040528060228152602001612540602291396001600160a01b038516600090815260336020526040902054919061192d565b6001600160a01b0383166000908152603360205260409020556035546121ee9082611b2d565b6035556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b600054610100900460ff168061224f575061224f611cf9565b8061225d575060005460ff16155b6122985760405162461bcd60e51b815260040180806020018281038252602e81526020018061260f602e913960400191505060405180910390fd5b600054610100900460ff16158015611f7f576000805460ff1961ff0019909116610100171660011790558015610f86576000805461ff001916905550565b600054610100900460ff16806122ef57506122ef611cf9565b806122fd575060005460ff16155b6123385760405162461bcd60e51b815260040180806020018281038252602e81526020018061260f602e913960400191505060405180910390fd5b600054610100900460ff16158015612363576000805460ff1961ff0019909116610100171660011790555b600061236d611806565b606580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3508015610f86576000805461ff001916905550565b600054610100900460ff16806123e857506123e8611cf9565b806123f6575060005460ff16155b6124315760405162461bcd60e51b815260040180806020018281038252602e81526020018061260f602e913960400191505060405180910390fd5b600054610100900460ff1615801561245c576000805460ff1961ff0019909116610100171660011790555b825161246f9060369060208601906124a7565b5081516124839060379060208501906124a7565b506038805460ff191660121790558015611173576000805461ff0019169055505050565b828054600181600116156101000203166002900490600052602060002090601f0160209004810192826124dd5760008555612523565b82601f106124f657805160ff1916838001178555612523565b82800160010185558215612523579182015b82811115612523578251825591602001919060010190612508565b50611a769291505b80821115611a76576000815560010161252b56fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573734469766964656e645f547261636b65723a2077697468647261774469766964656e642064697361626c65642e20557365207468652027636c61696d272066756e6374696f6e206f6e20746865206d61696e2042414259544f4b454e20636f6e74726163742e496e697469616c697a61626c653a20636f6e747261637420697320616c726561647920696e697469616c697a65644469766964656e645f547261636b65723a20636c61696d57616974206d757374206265207570646174656420746f206265747765656e203120616e6420323420686f757273536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65724469766964656e645f547261636b65723a204e6f207472616e736665727320616c6c6f77656445524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f20616464726573734469766964656e645f547261636b65723a2043616e6e6f742075706461746520636c61696d5761697420746f2073616d652076616c756545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212205ac075ef727410c55160c5eb4e5a0e0aebcf3904d45498904fce3eef8a88480f64736f6c63430007060033