[ { "inputs": [ { "internalType": "address", "name": "_initialOwner", "type": "address" }, { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "_handler", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "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": false, "internalType": "address", "name": "receiver", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Claim", "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": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TokensPerIntervalChange", "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": [], "name": "PRECISION", "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": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowances", "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": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "name": "claimForAccount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "claimable", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "claimableReward", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cumulativeRewardPerToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "cumulativeRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "depositToken", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "inPrivateStakingMode", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "inPrivateTransferMode", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_depositToken", "type": "address" }, { "internalType": "address", "name": "_rewardToken", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isHandler", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "isInitialized", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lastDistributionTime", "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": [], "name": "pendingRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "previousCumulatedRewardPerToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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", "name": "_handler", "type": "address" }, { "internalType": "bool", "name": "_isActive", "type": "bool" } ], "name": "setHandler", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_inPrivateTransferMode", "type": "bool" } ], "name": "setInPrivateModes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_stableRewardSystem", "type": "bool" } ], "name": "setRewardsModes", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "setTokensPerInterval", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "stableRewardSystem", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_fundingAccount", "type": "address" }, { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "stakeForAccount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_permitAmount", "type": "uint256" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "stakeWithPermit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "stakedAmounts", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokensPerInterval", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "totalDepositSupply", "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": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "name": "unstakeForAccount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "updateLastDistributionTime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "updateRewards", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523480156200001157600080fd5b5060405162002164380380620021648339810160408190526200003491620001f3565b6001600055836001600160a01b0381166200006957604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6200007481620000bf565b50600c62000083848262000312565b50600d62000092838262000312565b506001600160a01b03166000908152600b60205260409020805460ff1916600117905550620003de915050565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80516001600160a01b03811681146200012957600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200015657600080fd5b81516001600160401b03808211156200017357620001736200012e565b604051601f8301601f19908116603f011681019082821181831017156200019e576200019e6200012e565b81604052838152602092508683858801011115620001bb57600080fd5b600091505b83821015620001df5785820183015181830184015290820190620001c0565b600093810190920192909252949350505050565b600080600080608085870312156200020a57600080fd5b620002158562000111565b60208601519094506001600160401b03808211156200023357600080fd5b620002418883890162000144565b945060408701519150808211156200025857600080fd5b50620002678782880162000144565b925050620002786060860162000111565b905092959194509250565b600181811c908216806200029857607f821691505b602082108103620002b957634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200030d57600081815260208120601f850160051c81016020861015620002e85750805b601f850160051c820191505b818110156200030957828155600101620002f4565b5050505b505050565b81516001600160401b038111156200032e576200032e6200012e565b62000346816200033f845462000283565b84620002bf565b602080601f8311600181146200037e5760008415620003655750858301515b600019600386901b1c1916600185901b17855562000309565b600085815260208120601f198616915b82811015620003af578886015182559484019460019091019084016200038e565b5085821015620003ce5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611d7680620003ee6000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80635668b02e11610151578063c5fa2730116100c3578063eded3fda11610087578063eded3fda146105d2578063ef953750146105da578063f2fde38b146105ee578063f5fc507614610601578063f7c618c11461060a578063f831e49e1461061d57600080fd5b8063c5fa27301461053e578063c89039c514610552578063dd62ed3e14610565578063dfbaefb11461059e578063e9503425146105b257600080fd5b806395d89b411161011557806395d89b41146104e05780639cb7de4b146104e8578063a8d93627146104fb578063a9059cbb14610504578063aaf5eb6814610517578063b5f73e8d1461052b57600080fd5b80635668b02e1461046e57806370a0823114610481578063715018a6146104aa57806375b17350146104b25780638da5cb5b146104bb57600080fd5b80633569fe5e116101ea578063402914f5116101ae578063402914f5146103ba57806344a08411146103cd57806346ea87af146103ed578063485cc95514610410578063552ce1dc1461042357806355b6ed5c1461044357600080fd5b80633569fe5e146103635780633792def314610376578063392e53cd146103965780633ae6d6eb146103aa5780633e158b0c146103b257600080fd5b806318e20a031161023157806318e20a03146102f957806323b872dd1461030e57806327e235e314610321578063313ce5671461034157806333080b6e1461035057600080fd5b806306fdde031461026e578063095ea7b31461028c57806310c1c103146102af57806313e82e7a146102dd57806318160ddd146102f0575b600080fd5b610276610630565b60405161028391906119be565b60405180910390f35b61029f61029a366004611a28565b6106be565b6040519015158152602001610283565b6102cf6102bd366004611a52565b60076020526000908152604090205481565b604051908152602001610283565b6102cf6102eb366004611a6d565b6106d5565b6102cf60105481565b61030c610307366004611aa0565b6106fd565b005b61029f61031c366004611ab9565b6107b5565b6102cf61032f366004611a52565b60056020526000908152604090205481565b60405160128152602001610283565b61030c61035e366004611af5565b61084f565b61030c610371366004611b3f565b610879565b6102cf610384366004611a52565b600a6020526000908152604090205481565b60035461029f90600160a01b900460ff1681565b61030c61089f565b61030c6108ad565b6102cf6103c8366004611a52565b6108cb565b6102cf6103db366004611a52565b60096020526000908152604090205481565b61029f6103fb366004611a52565b600b6020526000908152604090205460ff1681565b61030c61041e366004611a6d565b6109be565b6102cf610431366004611a52565b60046020526000908152604090205481565b6102cf610451366004611a6d565b600660209081526000928352604080842090915290825290205481565b61030c61047c366004611b5c565b610a78565b6102cf61048f366004611a52565b6001600160a01b031660009081526005602052604090205490565b61030c610b25565b6102cf600f5481565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610283565b610276610b37565b61030c6104f6366004611bb5565b610b44565b6102cf600e5481565b61029f610512366004611a28565b610b77565b6102cf6c0c9f2c9cd04674edea4000000081565b61030c610539366004611ab9565b610b84565b60035461029f90600160b01b900460ff1681565b6002546104c8906001600160a01b031681565b6102cf610573366004611a6d565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b60035461029f90600160a81b900460ff1681565b6102cf6105c0366004611a52565b60086020526000908152604090205481565b6102cf610b9f565b60035461029f90600160b81b900460ff1681565b61030c6105fc366004611a52565b610bdd565b6102cf60115481565b6003546104c8906001600160a01b031681565b61030c61062b366004611b3f565b610c1b565b600c805461063d90611bec565b80601f016020809104026020016040519081016040528092919081815260200182805461066990611bec565b80156106b65780601f1061068b576101008083540402835291602001916106b6565b820191906000526020600020905b81548152906001019060200180831161069957829003601f168201915b505050505081565b60006106cb338484610c41565b5060015b92915050565b60006106df610d77565b6106e7610da1565b6106f18383610e00565b90506106cf6001600055565b610705610f02565b600f546000036107705760405162461bcd60e51b815260206004820152602b60248201527f526577617264547261636b65723a20696e76616c6964206c617374446973747260448201526a69627574696f6e54696d6560a81b60648201526084015b60405180910390fd5b61077a6000610f2f565b600e8190556040518181527f98dc76c39aa5a5dcb749f8750a65db3dfa1e14bcc1591a9c16a7420e5da748f89060200160405180910390a150565b336000908152600b602052604081205460ff16156107e0576107d88484846110b9565b506001610848565b600061082a83604051806060016040528060308152602001611ce3603091396001600160a01b03881660009081526006602090815260408083203384529091529020549190611269565b9050610837853383610c41565b6108428585856110b9565b60019150505b9392505050565b610857610d77565b61085f610da1565b61086a8383836112a3565b6108746001600055565b505050565b610881610f02565b60038054911515600160b81b0260ff60b81b19909216919091179055565b6108a7610f02565b42600f55565b6108b5610d77565b6108bf6000610f2f565b6108c96001600055565b565b6001600160a01b0381166000908152600760205260408120548082036109085750506001600160a01b031660009081526008602052604090205490565b601054600061092c6c0c9f2c9cd04674edea40000000610926610b9f565b90611471565b9050600061094661093d83856114f3565b60115490611535565b6001600160a01b0387166000908152600960205260409020549091506109b490610995906c0c9f2c9cd04674edea400000009061098f90610988908690611594565b8890611471565b906114f3565b6001600160a01b03881660009081526008602052604090205490611535565b9695505050505050565b6109c6610f02565b600354600160a01b900460ff1615610a2b5760405162461bcd60e51b815260206004820152602260248201527f526577617264547261636b65723a20616c726561647920696e697469616c697a604482015261195960f21b6064820152608401610767565b60038054600280546001600160a01b039586166001600160a01b031990911617905560ff60a81b19929093166001600160a81b031990931692909217600160a01b1716600160a81b179055565b610a80610d77565b60025460405163d505accf60e01b8152336004820152306024820152604481018890526064810186905260ff8516608482015260a4810184905260c481018390526001600160a01b039091169063d505accf9060e401600060405180830381600087803b158015610af057600080fd5b505af1158015610b04573d6000803e3d6000fd5b50505050610b133333876115d6565b610b1d6001600055565b505050505050565b610b2d610f02565b6108c96000611740565b600d805461063d90611bec565b610b4c610f02565b6001600160a01b03919091166000908152600b60205260409020805460ff1916911515919091179055565b60006106cb3384846110b9565b610b8c610d77565b610b94610da1565b61086a8383836115d6565b6000600f544203610bb05750600090565b6000610bc7600f544261159490919063ffffffff16565b600e54909150610bd79082611471565b91505090565b610be5610f02565b6001600160a01b038116610c0f57604051631e4fbdf760e01b815260006004820152602401610767565b610c1881611740565b50565b610c23610f02565b60038054911515600160a81b0260ff60a81b19909216919091179055565b6001600160a01b038316610cac5760405162461bcd60e51b815260206004820152602c60248201527f526577617264547261636b65723a20617070726f76652066726f6d207468652060448201526b7a65726f206164647265737360a01b6064820152608401610767565b6001600160a01b038216610d155760405162461bcd60e51b815260206004820152602a60248201527f526577617264547261636b65723a20617070726f766520746f20746865207a65604482015269726f206164647265737360b01b6064820152608401610767565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b600260005403610d9a57604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b336000908152600b602052604090205460ff166108c95760405162461bcd60e51b815260206004820152601860248201527f526577617264547261636b65723a20666f7262696464656e00000000000000006044820152606401610767565b600354600090600160b81b900460ff1615610e1e57610e1e83610f2f565b6001600160a01b0383166000908152600860205260408120805491905580156108485760035460405163a9059cbb60e01b81526001600160a01b038581166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015610e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eb89190611c26565b50604080516001600160a01b0386168152602081018390527f47cee97cb7acd717b3c0aa1435d004cd5b3c8c57d70dbceb4e4458bbd60e39d4910160405180910390a19392505050565b6001546001600160a01b031633146108c95760405163118cdaa760e01b8152336004820152602401610767565b6000610f39610b9f565b42600f55601054601154919250908115801590610f565750600083115b15610f8857610f80610f798361098f866c0c9f2c9cd04674edea40000000611471565b8290611535565b601181905590505b80600003610f965750505050565b6001600160a01b038416156110b3576001600160a01b0384166000908152600760209081526040808320546009909252822054909190610ff5906c0c9f2c9cd04674edea400000009061098f90610fee908790611594565b8590611471565b6001600160a01b0387166000908152600860205260408120549192509061101c9083611535565b6001600160a01b0388166000908152600860209081526040808320849055600990915290208590559050801580159061106c57506001600160a01b03871660009081526007602052604090205415155b156110af576001600160a01b0387166000908152600a60205260408120546110949084611535565b6001600160a01b0389166000908152600a6020526040902055505b5050505b50505050565b6001600160a01b0383166111255760405162461bcd60e51b815260206004820152602d60248201527f526577617264547261636b65723a207472616e736665722066726f6d2074686560448201526c207a65726f206164647265737360981b6064820152608401610767565b6001600160a01b03821661118f5760405162461bcd60e51b815260206004820152602b60248201527f526577617264547261636b65723a207472616e7366657220746f20746865207a60448201526a65726f206164647265737360a81b6064820152608401610767565b600354600160a81b900460ff16156111a9576111a9610da1565b6111e6816040518060600160405280602e8152602001611d13602e91396001600160a01b0386166000908152600560205260409020549190611269565b6001600160a01b0380851660009081526005602052604080822093909355908416815220546112159082611535565b6001600160a01b0380841660008181526005602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d6a9085815260200190565b6000818484111561128d5760405162461bcd60e51b815260040161076791906119be565b50600061129a8486611c59565b95945050505050565b600082116112f35760405162461bcd60e51b815260206004820152601e60248201527f526577617264547261636b65723a20696e76616c6964205f616d6f756e7400006044820152606401610767565b600354600160b81b900460ff161561130e5761130e83610f2f565b6001600160a01b0383166000908152600760205260409020548281101561138b5760405162461bcd60e51b815260206004820152602b60248201527f526577617264547261636b65723a205f616d6f756e742065786365656473207360448201526a1d185ad959105b5bdd5b9d60aa1b6064820152608401610767565b6113958184611594565b6001600160a01b038086166000908152600760209081526040808320949094556002549092168152600490915220546113ce9084611594565b6002546001600160a01b03166000908152600460205260409020556113f38484611792565b60025460405163a9059cbb60e01b81526001600160a01b038481166004830152602482018690529091169063a9059cbb906044016020604051808303816000875af1158015611446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061146a9190611c26565b5050505050565b600082600003611483575060006106cf565b600061148f8385611c6c565b90508261149c8583611c83565b146108485760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610767565b600061084883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506118a6565b6000806115428385611ca5565b9050838110156108485760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610767565b600061084883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611269565b600081116116265760405162461bcd60e51b815260206004820152601e60248201527f526577617264547261636b65723a20696e76616c6964205f616d6f756e7400006044820152606401610767565b6002546040516323b872dd60e01b81526001600160a01b03858116600483015230602483015260448201849052909116906323b872dd906064016020604051808303816000875af115801561167f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a39190611c26565b50600354600160b81b900460ff16156116bf576116bf82610f2f565b6001600160a01b0382166000908152600760205260409020546116e29082611535565b6001600160a01b0380841660009081526007602090815260408083209490945560025490921681526004909152205461171b9082611535565b6002546001600160a01b031660009081526004602052604090205561087482826118d4565b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b0382166117fa5760405162461bcd60e51b815260206004820152602960248201527f526577617264547261636b65723a206275726e2066726f6d20746865207a65726044820152686f206164647265737360b81b6064820152608401610767565b611837816040518060600160405280602a8152602001611cb9602a91396001600160a01b0385166000908152600560205260409020549190611269565b6001600160a01b03831660009081526005602052604090205560105461185d9082611594565b6010556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600081836118c75760405162461bcd60e51b815260040161076791906119be565b50600061129a8486611c83565b6001600160a01b03821661193a5760405162461bcd60e51b815260206004820152602760248201527f526577617264547261636b65723a206d696e7420746f20746865207a65726f206044820152666164647265737360c81b6064820152608401610767565b6010546119479082611535565b6010556001600160a01b03821660009081526005602052604090205461196d9082611535565b6001600160a01b0383166000818152600560205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061189a9085815260200190565b600060208083528351808285015260005b818110156119eb578581018301518582016040015282016119cf565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611a2357600080fd5b919050565b60008060408385031215611a3b57600080fd5b611a4483611a0c565b946020939093013593505050565b600060208284031215611a6457600080fd5b61084882611a0c565b60008060408385031215611a8057600080fd5b611a8983611a0c565b9150611a9760208401611a0c565b90509250929050565b600060208284031215611ab257600080fd5b5035919050565b600080600060608486031215611ace57600080fd5b611ad784611a0c565b9250611ae560208501611a0c565b9150604084013590509250925092565b600080600060608486031215611b0a57600080fd5b611b1384611a0c565b925060208401359150611b2860408501611a0c565b90509250925092565b8015158114610c1857600080fd5b600060208284031215611b5157600080fd5b813561084881611b31565b60008060008060008060c08789031215611b7557600080fd5b863595506020870135945060408701359350606087013560ff81168114611b9b57600080fd5b9598949750929560808101359460a0909101359350915050565b60008060408385031215611bc857600080fd5b611bd183611a0c565b91506020830135611be181611b31565b809150509250929050565b600181811c90821680611c0057607f821691505b602082108103611c2057634e487b7160e01b600052602260045260246000fd5b50919050565b600060208284031215611c3857600080fd5b815161084881611b31565b634e487b7160e01b600052601160045260246000fd5b818103818111156106cf576106cf611c43565b80820281158282048414176106cf576106cf611c43565b600082611ca057634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156106cf576106cf611c4356fe526577617264547261636b65723a206275726e20616d6f756e7420657863656564732062616c616e6365526577617264547261636b65723a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365526577617264547261636b65723a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a264697066735822122096c9dbf56c23bdfb71ecb09808965e3b163a896b61ece4d94123d6ae384c8ecd64736f6c634300081400330000000000000000000000007295c5d92b3a0edd73942e3f30124d1b731532a3000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c000000000000000000000000051287c39b9697dbc31c4059b82d48dccf84c9c220000000000000000000000000000000000000000000000000000000000000010466565205475746f20547261636b6572000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005665455544f000000000000000000000000000000000000000000000000000000