0 txs
1 call
constructor
constructor()
functions
accrueInterest
purefunction accrueInterest(uint256 _principal, uint256 _rate, uint256 _age) pure returns (uint256)
calcMultiplier
viewfunction calcMultiplier(uint256 _pid, address _addr) view returns (uint16 multi)
canClaim
viewfunction canClaim(uint256 _pid, address _addr) view returns (bool)
compounderContract
viewfunction compounderContract() view returns (address)
getPools
viewfunction getPools() view returns (tuple[])
maxTransferAmount
viewfunction maxTransferAmount(address) view returns (uint256)
nftInfo
viewfunction nftInfo(uint256) view returns (bool active, string name, address contractAdd, uint16 multiplier, uint16 startIdx, uint16 endIdx)
owner
viewfunction owner() view returns (address)
ownsCorrectNFT
viewfunction ownsCorrectNFT(address _addr, uint256 _pid) view returns (bool)
payout
viewfunction payout(uint256 _pid, address _addr) view returns (uint256 value)
poolInfo
viewfunction poolInfo(uint256) view returns (uint256 apy, uint256 lockPeriodInDays, uint256 totalDeposit, uint256 startDate, uint256 endDate, uint256 hardCap, address token)
poolLength
viewfunction poolLength() view returns (uint256)
users
viewfunction users(uint256, address) view returns (uint256 totalInvested, uint256 totalWithdrawn, uint256 lastPayout, uint256 depositTime, uint256 totalClaimed)
yearlyRateToRay
purefunction yearlyRateToRay(uint256 _rateWad) pure returns (uint256)
add
nonpayablefunction add(uint256 _apy, uint256 _lockPeriodInDays, uint256 _endDate, uint256 _hardCap, address _token)
claim
nonpayablefunction claim(uint256 _pid) returns (bool)
claimAll
nonpayablefunction claimAll() returns (bool)
handleNFTMultiplier
nonpayablefunction handleNFTMultiplier(uint256 _pid, address _user, uint256 _rewardAmount) returns (uint256)
initialize
nonpayablefunction initialize()
reinvest
nonpayablefunction reinvest(uint256 _pid) returns (bool)
reinvestAll
nonpayablefunction reinvestAll() returns (bool)
renounceOwnership
nonpayablefunction renounceOwnership()
set
nonpayablefunction set(uint256 _pid, uint256 _apy, uint256 _lockPeriodInDays, uint256 _endDate, uint256 _hardCap, uint256 _maxTransfer, address)
setNFT
nonpayablefunction setNFT(uint256 _pid, string _name, address _contractAdd, bool _isUsed, uint16 _multiplier, uint16 _startIdx, uint16 _endIdx)
stake
nonpayablefunction stake(uint256 _pid, uint256 _amount) returns (bool)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unStake
nonpayablefunction unStake(uint256 _pid, uint256 _amount) returns (bool)
updateCompounder
nonpayablefunction updateCompounder(address _compounder)
updateFeeValues
nonpayablefunction updateFeeValues(uint8 _feePercent, address _feeWallet)
events
Claim
event Claim(address indexed addr, uint256 indexed pid, uint256 amount, uint256 time)
CompounderUpdated
event CompounderUpdated(address compounder)
FeeValueUpdated
event FeeValueUpdated(uint8 feeValue, address feeAddress)
Initialized
event Initialized(uint8 version)
NFTSet
event NFTSet(uint256 pid, string name, address contractAdd, bool isUsed, uint16 multiplier, uint16 startIdx, uint16 endIdx)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolAdded
event PoolAdded(uint256 apy, uint256 lockPeriodInDays, uint256 endDate, uint256 hardCap, address token)
PoolChanged
event PoolChanged(uint256 pid, uint256 apy, uint256 lockPeriodInDays, uint256 endDate, uint256 hardCap, uint256 maxTransfer)
Reinvest
event Reinvest(address indexed addr, uint256 indexed pid, uint256 amount, uint256 time)
Stake
event Stake(address indexed addr, uint256 indexed pid, uint256 amount, uint256 time)
TokenTransferred
event TokenTransferred(address token, uint256 amount)
Unstake
event Unstake(address indexed addr, uint256 indexed pid, uint256 amount, uint256 time)
errors
No errors.
creation bytecode
0x60806040523480156200001157600080fd5b506200001c62000022565b620000e3565b600054610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811614620000e1576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b6135b480620000f36000396000f3fe608060405234801561001057600080fd5b50600436106101ce5760003560e01c80637b0472f011610104578063b7f08de4116100a2578063d1058e5911610071578063d1058e5914610488578063de251fb614610490578063f2fde38b146104a3578063f686f358146104b657600080fd5b8063b7f08de4146103df578063b9d02df4146103f2578063ba62b8a714610462578063be95e01a1461047557600080fd5b80638da5cb5b116100de5780638da5cb5b146103745780639a3514f7146103995780639e80aa14146103ac5780639f9a81c2146103bf57600080fd5b80637b0472f0146103465780638129fc1c1461035957806383b4918b1461036157600080fd5b806329a2e8e611610171578063379607f51161014b578063379607f5146103035780633e1a890614610316578063673a2a1f14610329578063715018a61461033e57600080fd5b806329a2e8e6146102b75780633001973a146102ca578063372caeb8146102f057600080fd5b80630d1a0c3b116101ad5780630d1a0c3b146102165780631526fe271461022e5780631f8bc7901461027f57806327c81290146102a457600080fd5b8062b00779146101d3578063060614cb146101e8578063081e3eda1461020e575b600080fd5b6101e66101e1366004612d53565b6104c9565b005b6101fb6101f6366004612d6e565b610688565b6040519081526020015b60405180910390f35b6069546101fb565b61021e6106c7565b6040519015158152602001610205565b61024161023c366004612d6e565b6106fa565b604080519788526020880196909652948601939093526060850191909152608084015260a08301526001600160a01b031660c082015260e001610205565b61029261028d366004612d6e565b610752565b60405161020596959493929190612dd7565b6101e66102b2366004612e26565b610878565b61021e6102c5366004612e82565b610a1d565b6102dd6102d8366004612e82565b610ab2565b60405161ffff9091168152602001610205565b61021e6102fe366004612eae565b610c4f565b61021e610311366004612d6e565b610dc7565b6101e6610324366004612ed0565b610e31565b610331611370565b6040516102059190612f19565b6101e6611418565b61021e610354366004612eae565b61142c565b6101e66114dd565b61021e61036f366004612d6e565b6116b4565b6033546001600160a01b03165b6040516001600160a01b039091168152602001610205565b61021e6103a7366004612fa4565b611726565b6101e66103ba366004612ff9565b61191f565b6101fb6103cd366004612d53565b60686020526000908152604090205481565b6101e66103ed3660046130c8565b611b9f565b61043a610400366004612e82565b6067602090815260009283526040808420909152908252902080546001820154600283015460038401546004909401549293919290919085565b604080519586526020860194909452928401919091526060830152608082015260a001610205565b606554610381906001600160a01b031681565b6101fb610483366004612e82565b611c5e565b61021e611d6d565b6101fb61049e3660046130fa565b611da6565b6101e66104b1366004612d53565b611dc3565b6101fb6104c4366004613126565b611e50565b6104d1611f37565b6001600160a01b03811661052c5760405162461bcd60e51b815260206004820152600c60248201527f5a65726f2061646472657373000000000000000000000000000000000000000060448201526064015b60405180910390fd5b6065546001600160a01b031661057057606580547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0383161790555b60005b60695481101561064757606981815481106105905761059061315b565b60009182526020909120600790910201600601546065546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610610573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610634919061318a565b508061063f816131d6565b915050610573565b506040516001600160a01b03821681527f835b26155608bbce34d0ff7a98d9e1f28d6ccbd5a09da2bb8c68941586171ac2906020015b60405180910390a150565b60006106c161069e670de0b6b3a7640000611f91565b6106bc6106aa85611f91565b6106b76301e13380611fa1565b611fb9565b611ff1565b92915050565b606954600090815b818110156106f1576106e0816116b4565b506106ea816131d6565b90506106cf565b50600191505090565b6069818154811061070a57600080fd5b6000918252602090912060079091020180546001820154600283015460038401546004850154600586015460069096015494965092949193909291906001600160a01b031687565b606a818154811061076257600080fd5b60009182526020909120600390910201805460018201805460ff90921693509061078b906131f0565b80601f01602080910402602001604051908101604052809291908181526020018280546107b7906131f0565b80156108045780601f106107d957610100808354040283529160200191610804565b820191906000526020600020905b8154815290600101906020018083116107e757829003601f168201915b505050600290930154919250506001600160a01b0381169061ffff740100000000000000000000000000000000000000008204811691760100000000000000000000000000000000000000000000810482169178010000000000000000000000000000000000000000000000009091041686565b610880611f37565b60695487106108d15760405162461bcd60e51b815260206004820152600a60248201527f496e76616c6964204964000000000000000000000000000000000000000000006044820152606401610523565b85606988815481106108e5576108e561315b565b906000526020600020906007020160000181905550846069888154811061090e5761090e61315b565b90600052602060002090600702016001018190555083606988815481106109375761093761315b565b90600052602060002090600702016004018190555082606988815481106109605761096061315b565b906000526020600020906007020160050181905550816068600060698a8154811061098d5761098d61315b565b60009182526020808320600792909202909101600601546001600160a01b031683528281019390935260409182019020929092558151898152908101889052908101869052606081018590526080810184905260a081018390527f3bac89db141330ca418181bc13d70a4c167d9554b822e540bd98ca199be8cbc29060c00160405180910390a150505050505050565b60008281526067602090815260408083206001600160a01b038516845290915281206069805483919086908110610a5657610a5661315b565b6000918252602090912060655460079092020191506001600160a01b03163303610a85576001925050506106c1565b6001810154610a979062015180613243565b8260030154610aa6919061325a565b42101595945050505050565b600080606a8481548110610ac857610ac861315b565b60009182526020918290206040805160c08101909152600390920201805460ff16151582526001810180549293919291840191610b04906131f0565b80601f0160208091040260200160405190810160405280929190818152602001828054610b30906131f0565b8015610b7d5780601f10610b5257610100808354040283529160200191610b7d565b820191906000526020600020905b815481529060010190602001808311610b6057829003601f168201915b5050509183525050600291909101546001600160a01b038116602083015261ffff7401000000000000000000000000000000000000000082048116604084015276010000000000000000000000000000000000000000000082048116606084015278010000000000000000000000000000000000000000000000009091041660809091015280519091508015610c185750610c188385611726565b8015610c3257506065546001600160a01b03848116911614155b15610c435780606001519150610c48565b600a91505b5092915050565b600082815260676020908152604080832033845290915281206069805483919086908110610c7f57610c7f61315b565b906000526020600020906007020190508382600001541015610ce35760405162461bcd60e51b815260206004820152601060248201527f4e6f7420656e6f7567682066756e6473000000000000000000000000000000006044820152606401610523565b610ced8533610a1d565b610d395760405162461bcd60e51b815260206004820152601260248201527f5374616b65207374696c6c206c6f636b656400000000000000000000000000006044820152606401610523565b610d43853361204f565b838160020154610d53919061326d565b60028201558154610d6590859061326d565b82556006810154610d80906001600160a01b031633866121fc565b60408051858152426020820152869133917ffbd65cfd6de1493db337385c0712095397ecbd0504df64b861cdfceb80c7b422910160405180910390a3506001949350505050565b6000610dd38233610a1d565b610e1f5760405162461bcd60e51b815260206004820152601360248201527f526577617264207374696c6c206c6f636b6564000000000000000000000000006044820152606401610523565b610e29823361204f565b506001919050565b610e39611f37565b428311610e885760405162461bcd60e51b815260206004820152601060248201527f496e76616c696420656e642064617465000000000000000000000000000000006044820152606401610523565b6001600160a01b038116610ede5760405162461bcd60e51b815260206004820152600d60248201527f496e76616c696420746f6b656e000000000000000000000000000000000000006044820152606401610523565b6040805160e0810182528681526020808201878152600083850181815242606080870191825260808088018c815260a0808a018d81526001600160a01b03808e1660c0808e019182526069805460018181018355918d529e516007909f027f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430881019f909f559b517f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143098f015598517f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430a8e015596517f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430b8d015592517f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430c8c0155517f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430d8b015593517f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe39991430e9099018054999091167fffffffffffffffffffffffff0000000000000000000000000000000000000000909916989098179097558751928301885283835287518087018952848152958301958652968201839052600a96820196909652938401819052938301849052606a8054918201815590935281516003939093027f116fea137db6e131133e7f2bab296045d8f41cc5607279db17b218cab0929a51810180549415157fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090951694909417845590519192917f116fea137db6e131133e7f2bab296045d8f41cc5607279db17b218cab0929a529091019061114690826132f5565b50604082810151600290920180546060850151608086015160a09096015161ffff9081167801000000000000000000000000000000000000000000000000027fffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff97821676010000000000000000000000000000000000000000000002979097167fffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffffff9190921674010000000000000000000000000000000000000000027fffffffffffffffffffff000000000000000000000000000000000000000000009093166001600160a01b039687161792909217919091161793909317909255821660009081526068602052206000199055611280600161126260695490565b61126c919061326d565b6065546001600160a01b0316600080612268565b6065546040517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03918216600482015260001960248201529082169063095ea7b3906044016020604051808303816000875af11580156112ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611311919061318a565b506040805186815260208101869052908101849052606081018390526001600160a01b03821660808201527f23d4f2e401039129c4e716af88b155de6b715b637b2844ef6a2682129fb5ef4a9060a00160405180910390a15050505050565b60606069805480602002602001604051908101604052809291908181526020016000905b8282101561140f5760008481526020908190206040805160e0810182526007860290920180548352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600601546001600160a01b031660c08301529083529092019101611394565b50505050905090565b611420611f37565b61142a600061244c565b565b600080606984815481106114425761144261315b565b60009182526020918290206040805160e0810182526007909302909101805483526001810154938301939093526002830154908201526003820154606082015260048201546080820152600582015460a08201526006909101546001600160a01b031660c082018190529091506114bb813330876124b6565b6114c4856116b4565b506114d28533866000612268565b506001949350505050565b600054610100900460ff16158080156114fd5750600054600160ff909116105b806115175750303b158015611517575060005460ff166001145b6115895760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610523565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156115e757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6115ef61256d565b606680547fffffffffffffffffffffff00000000000000000000000000000000000000000016337fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16177405000000000000000000000000000000000000000017905580156116b157600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200161067d565b50565b6000806116c18333611c5e565b9050801561171d576116d383826125f2565b6116e08333836001612268565b60408051828152426020820152849133917f5a1f3c64a894cbcee558ea14f59dd807692703df44b42f0c036588f149c8f7ba910160405180910390a35b50600192915050565b600080606a838154811061173c5761173c61315b565b60009182526020918290206040805160c08101909152600390920201805460ff16151582526001810180549293919291840191611778906131f0565b80601f01602080910402602001604051908101604052809291908181526020018280546117a4906131f0565b80156117f15780601f106117c6576101008083540402835291602001916117f1565b820191906000526020600020905b8154815290600101906020018083116117d457829003601f168201915b5050509183525050600291909101546001600160a01b038116602083015261ffff74010000000000000000000000000000000000000000820481166040808501919091527601000000000000000000000000000000000000000000008304821660608501527801000000000000000000000000000000000000000000000000909204166080909201919091528101519091506000906118909086612799565b905060005b815181101561191357826080015161ffff168282815181106118b9576118b961315b565b6020026020010151101580156118f057508260a0015161ffff168282815181106118e5576118e561315b565b602002602001015111155b1561190157600193505050506106c1565b8061190b816131d6565b915050611895565b50600095945050505050565b611927611f37565b600a8361ffff16101561197c5760405162461bcd60e51b815260206004820152600d60248201527f496e76616c6964206d756c7469000000000000000000000000000000000000006044820152606401610523565b8061ffff168261ffff1611156119d45760405162461bcd60e51b815260206004820152600d60248201527f496e76616c696420696e646578000000000000000000000000000000000000006044820152606401610523565b6000606a89815481106119e9576119e961315b565b60009182526020909120600390910201905060018101611a0a888a836133b5565b5060028101546001600160a01b0316611a53576002810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0388161790555b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168515151781556002810180547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff878116919091027fffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffff169190911776010000000000000000000000000000000000000000000086831602177fffffffffffff0000ffffffffffffffffffffffffffffffffffffffffffffffff167801000000000000000000000000000000000000000000000000918516919091021790556040517fae2d529af1a01f330586236337ea9f19d1725f4196479f87c45703a7e092779d90611b8c908b908b908b908b908b908b908b908b90613476565b60405180910390a1505050505050505050565b611ba7611f37565b606680547fffffffffffffffffffffff000000000000000000000000000000000000000000167401000000000000000000000000000000000000000060ff85169081027fffffffffffffffffffffffff000000000000000000000000000000000000000016919091176001600160a01b0384169081179092556040805191825260208201929092527f4b04c673d085bf81226ccfbf62e8ba9964658e4fa23e4628515bbfb6961edcfb910160405180910390a15050565b60008281526067602090815260408083206001600160a01b038516845290915281206069805483919086908110611c9757611c9761315b565b9060005260206000209060070201905060008260030154836002015411611cc2578260030154611cc8565b82600201545b9050600082600401544211611cdd5742611ce3565b82600401545b90506000611cf18888610ab2565b61ffff16905081831015611d4b576000611d296103e88660000154670de0b6b3a7640000611d1f9190613243565b6101f6919061350e565b8654909150611d3d818361049e888861326d565b611d47919061326d565b9650505b600a611d578288613243565b611d61919061350e565b98975050505050505050565b606954600090815b818110156106f157611d878133610a1d565b15611d9657611d96813361204f565b611d9f816131d6565b9050611d75565b6000611dbb84611db6858561293c565b6129b5565b949350505050565b611dcb611f37565b6001600160a01b038116611e475760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610523565b6116b18161244c565b6065546000906001600160a01b03163314611ead5760405162461bcd60e51b815260206004820152600f60248201527f4f6e6c7920636f6d706f756e64657200000000000000000000000000000000006044820152606401610523565b6000611eb98585610ab2565b9050600083600a611ece61ffff851683613243565b611ed8919061350e565b611ee2919061326d565b90508015611f2e57611ef486826125f2565b611f2e60698781548110611f0a57611f0a61315b565b60009182526020909120600660079092020101546001600160a01b031686836121fc565b95945050505050565b6033546001600160a01b0316331461142a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610523565b60006106c182633b9aca006129e8565b60006106c1826b033b2e3c9fd0803ce80000006129e8565b600081611fe0611fd5856b033b2e3c9fd0803ce80000006129e8565b6106bc60028661350e565b611fea919061350e565b9392505050565b600082611ffe838261325a565b91508110156106c15760405162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6164642d6f766572666c6f770000000000000000000000006044820152606401610523565b60008281526067602090815260408083206001600160a01b0385168452909152812060698054919291859081106120885761208861315b565b600091825260208083206040805160e0810182526007909402909101805484526001810154928401929092526002820154908301526003810154606083015260048101546080830152600581015460a0830152600601546001600160a01b031660c082015291506120f98585611c5e565b905080156121b05761210b85826125f2565b80836001015461211b919061325a565b60018401556066546000906103e89061214f9074010000000000000000000000000000000000000000900460ff1684613243565b612159919061350e565b9050612165818361326d565b426002860155600485015490925061217e90839061325a565b600485015560c083015160665461219f91906001600160a01b0316836121fc565b6121ae8360c0015186846121fc565b505b6040805182815242602082015286916001600160a01b038716917f45c072aa05b9853b5a993de7a28bc332ee01404a628cec1a23ce0f659f842ef1910160405180910390a35050505050565b6001600160a01b0383166000908152606860205260409020548390825b81811115612246576122356001600160a01b0384168684612a58565b61223f828261326d565b9050612219565b8015612260576122606001600160a01b0384168683612a58565b505050505050565b60008481526067602090815260408083206001600160a01b0387168452909152812060698054919291879081106122a1576122a161315b565b906000526020600020906007020190508215806122cc57506065546001600160a01b03868116911614155b156123c7574260038301556065546001600160a01b038681169116146123c7578060050154848260020154612301919061325a565b111561234f5760405162461bcd60e51b815260206004820152600960248201527f506f6f6c2066756c6c00000000000000000000000000000000000000000000006044820152606401610523565b60008160010154620151806123649190613243565b8260040154612373919061326d565b9050804211156123c55760405162461bcd60e51b815260206004820152601e60248201527f5374616b696e672064697361626c656420666f72207468697320706f6f6c00006044820152606401610523565b505b81546123d490859061325a565b825560028101546123e690859061325a565b816002018190555042826002018190555085856001600160a01b03167ff556991011e831bcfac4f406d547e5e32cdd98267efab83935230d5f8d02c446864260405161243c929190918252602082015260400190565b60405180910390a3505050505050565b603380546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b03808516602483015283166044820152606481018290526125679085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff0000000000000000000000000000000000000000000000000000000090931692909217909152612aa6565b50505050565b600054610100900460ff166125ea5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610523565b61142a612b8e565b6000606983815481106126075761260761315b565b60009182526020822060079190910201600601546040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b03909116925082906370a0823190602401602060405180830381865afa15801561267c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126a09190613522565b90506000806126ae60695490565b905060005b8181101561273f57846001600160a01b0316606982815481106126d8576126d861315b565b60009182526020909120600660079092020101546001600160a01b03160361272d576069818154811061270d5761270d61315b565b9060005260206000209060070201600201548361272a919061325a565b92505b80612737816131d6565b9150506126b3565b508461274b838561326d565b10156122605760405162461bcd60e51b815260206004820152601260248201527f4e6f7420656e6f756768207265776172647300000000000000000000000000006044820152606401610523565b6040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0382811660048301526060918491600091908316906370a0823190602401602060405180830381865afa158015612801573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906128259190613522565b905060008167ffffffffffffffff81111561284257612842613280565b60405190808252806020026020018201604052801561286b578160200160208202803683370190505b50905060005b82811015612932576040517f2f745c590000000000000000000000000000000000000000000000000000000081526001600160a01b03878116600483015260248201839052851690632f745c5990604401602060405180830381865afa1580156128df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906129039190613522565b8282815181106129155761291561315b565b60209081029190910101528061292a816131d6565b915050612871565b5095945050505050565b600061294960028361353b565b600003612962576b033b2e3c9fd0803ce8000000612964565b825b905061297160028361350e565b91505b81156106c15761298483846129b5565b925061299160028361353b565b156129a3576129a081846129b5565b90505b6129ae60028361350e565b9150612974565b60006b033b2e3c9fd0803ce8000000611fe06129d185856129e8565b6106bc60026b033b2e3c9fd0803ce800000061350e565b6000811580612a0c575082826129fe8183613243565b9250612a0a908361350e565b145b6106c15760405162461bcd60e51b815260206004820152601460248201527f64732d6d6174682d6d756c2d6f766572666c6f770000000000000000000000006044820152606401610523565b6040516001600160a01b038316602482015260448101829052612aa19084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401612503565b505050565b6000612afb826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612c149092919063ffffffff16565b9050805160001480612b1c575080806020019051810190612b1c919061318a565b612aa15760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610523565b600054610100900460ff16612c0b5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610523565b61142a3361244c565b6060611dbb848460008585600080866001600160a01b03168587604051612c3b919061354f565b60006040518083038185875af1925050503d8060008114612c78576040519150601f19603f3d011682016040523d82523d6000602084013e612c7d565b606091505b5091509150612c8e87838387612c99565b979650505050505050565b60608315612d08578251600003612d01576001600160a01b0385163b612d015760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610523565b5081611dbb565b611dbb8383815115612d1d5781518083602001fd5b8060405162461bcd60e51b8152600401610523919061356b565b80356001600160a01b0381168114612d4e57600080fd5b919050565b600060208284031215612d6557600080fd5b611fea82612d37565b600060208284031215612d8057600080fd5b5035919050565b60005b83811015612da2578181015183820152602001612d8a565b50506000910152565b60008151808452612dc3816020860160208601612d87565b601f01601f19169290920160200192915050565b861515815260c060208201526000612df260c0830188612dab565b6001600160a01b039690961660408301525061ffff9384166060820152918316608083015290911660a09091015292915050565b600080600080600080600060e0888a031215612e4157600080fd5b873596506020880135955060408801359450606088013593506080880135925060a08801359150612e7460c08901612d37565b905092959891949750929550565b60008060408385031215612e9557600080fd5b82359150612ea560208401612d37565b90509250929050565b60008060408385031215612ec157600080fd5b50508035926020909101359150565b600080600080600060a08688031215612ee857600080fd5b85359450602086013593506040860135925060608601359150612f0d60808701612d37565b90509295509295909350565b602080825282518282018190526000919060409081850190868401855b82811015612f975781518051855286810151878601528581015186860152606080820151908601526080808201519086015260a0808201519086015260c0908101516001600160a01b03169085015260e09093019290850190600101612f36565b5091979650505050505050565b60008060408385031215612fb757600080fd5b612fc083612d37565b946020939093013593505050565b80151581146116b157600080fd5b8035612d4e81612fce565b803561ffff81168114612d4e57600080fd5b60008060008060008060008060e0898b03121561301557600080fd5b88359750602089013567ffffffffffffffff8082111561303457600080fd5b818b0191508b601f83011261304857600080fd5b81358181111561305757600080fd5b8c602082850101111561306957600080fd5b60208301995080985050505061308160408a01612d37565b945061308f60608a01612fdc565b935061309d60808a01612fe7565b92506130ab60a08a01612fe7565b91506130b960c08a01612fe7565b90509295985092959890939650565b600080604083850312156130db57600080fd5b823560ff811681146130ec57600080fd5b9150612ea560208401612d37565b60008060006060848603121561310f57600080fd5b505081359360208301359350604090920135919050565b60008060006060848603121561313b57600080fd5b8335925061314b60208501612d37565b9150604084013590509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006020828403121561319c57600080fd5b8151611fea81612fce565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600060001982036131e9576131e96131a7565b5060010190565b600181811c9082168061320457607f821691505b60208210810361323d577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b80820281158282048414176106c1576106c16131a7565b808201808211156106c1576106c16131a7565b818103818111156106c1576106c16131a7565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b601f821115612aa157600081815260208120601f850160051c810160208610156132d65750805b601f850160051c820191505b81811015612260578281556001016132e2565b815167ffffffffffffffff81111561330f5761330f613280565b6133238161331d84546131f0565b846132af565b602080601f83116001811461335857600084156133405750858301515b600019600386901b1c1916600185901b178555612260565b600085815260208120601f198616915b8281101561338757888601518255948401946001909101908401613368565b50858210156133a55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b67ffffffffffffffff8311156133cd576133cd613280565b6133e1836133db83546131f0565b836132af565b6000601f84116001811461341557600085156133fd5750838201355b600019600387901b1c1916600186901b17835561346f565b600083815260209020601f19861690835b828110156134465786850135825560209485019460019092019101613426565b50868210156134635760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b88815260e060208201528660e08201526000610100888a828501376000838a018201526001600160a01b0397909716604083015250931515606085015261ffff928316608085015290821660a08401521660c0820152601f909201601f19169091010192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60008261351d5761351d6134df565b500490565b60006020828403121561353457600080fd5b5051919050565b60008261354a5761354a6134df565b500690565b60008251613561818460208701612d87565b9190910192915050565b602081526000611fea6020830184612dab56fea2646970667358221220aa2240465172530943c27e85372a3690802dba27ac9b5fe417ccb8cf69ac104064736f6c63430008110033