0 txs
656 calls
constructor
No constructor.
functions
balanceOf
viewfunction balanceOf() view returns (uint256)
balanceOfPool
viewfunction balanceOfPool() view returns (uint256)
balanceOfWant
viewfunction balanceOfWant() view returns (uint256)
beefyFeeConfig
viewfunction beefyFeeConfig() view returns (address)
beefyFeeRecipient
viewfunction beefyFeeRecipient() view returns (address)
callReward
viewfunction callReward() view returns (uint256)
depositFee
viewfunction depositFee() view returns (uint256)
depositToken
viewfunction depositToken() view returns (address)
factory
viewfunction factory() view returns (address)
getAllFees
viewfunction getAllFees() view returns (tuple)
harvestOnDeposit
viewfunction harvestOnDeposit() view returns (bool)
ilk
viewfunction ilk() view returns (bytes32)
keeper
viewfunction keeper() view returns (address)
lastHarvest
viewfunction lastHarvest() view returns (uint256)
lockDuration
viewfunction lockDuration() view returns (uint256)
lockedProfit
viewfunction lockedProfit() view returns (uint256)
lockstake
viewfunction lockstake() view returns (address)
minAmounts
viewfunction minAmounts(address) view returns (uint256)
native
viewfunction native() view returns (address)
owner
viewfunction owner() view returns (address)
paused
viewfunction paused() view returns (bool)
rewards
viewfunction rewards(uint256) view returns (address)
rewardsAvailable
viewfunction rewardsAvailable() view returns (uint256)
rewardsLength
viewfunction rewardsLength() view returns (uint256)
strategist
viewfunction strategist() view returns (address)
stratName
purefunction stratName() pure returns (string)
swapper
viewfunction swapper() view returns (address)
totalLocked
viewfunction totalLocked() view returns (uint256)
vat
viewfunction vat() view returns (address)
vault
viewfunction vault() view returns (address)
want
viewfunction want() view returns (address)
withdrawFee
viewfunction withdrawFee() view returns (uint256)
addReward
nonpayablefunction addReward(address _token)
beforeDeposit
nonpayablefunction beforeDeposit()
claim
nonpayablefunction claim()
deposit
nonpayablefunction deposit()
harvest
nonpayablefunction harvest()
harvest
nonpayablefunction harvest(address callFeeRecipient)
initialize
nonpayablefunction initialize(address _lockstake, address _farm, bool _harvestOnDeposit, address[] _rewards, tuple _addresses)
panic
nonpayablefunction panic()
pause
nonpayablefunction pause()
removeReward
nonpayablefunction removeReward(uint256 i)
renounceOwnership
nonpayablefunction renounceOwnership()
resetRewards
nonpayablefunction resetRewards()
retireStrat
nonpayablefunction retireStrat()
setDepositToken
nonpayablefunction setDepositToken(address token)
setHarvestOnDeposit
nonpayablefunction setHarvestOnDeposit(bool _harvestOnDeposit)
setLockDuration
nonpayablefunction setLockDuration(uint256 _duration)
setRewardMinAmount
nonpayablefunction setRewardMinAmount(address token, uint256 minAmount)
setStrategist
nonpayablefunction setStrategist(address _strategist)
setSwapper
nonpayablefunction setSwapper(address _swapper)
setVault
nonpayablefunction setVault(address _vault)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unpause
nonpayablefunction unpause()
withdraw
nonpayablefunction withdraw(uint256 _amount)
events
ChargedFees
event ChargedFees(uint256 callFees, uint256 beefyFees, uint256 strategistFees)
Deposit
event Deposit(uint256 tvl)
Initialized
event Initialized(uint8 version)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Paused
event Paused(address account)
SetStrategist
event SetStrategist(address strategist)
SetSwapper
event SetSwapper(address swapper)
SetVault
event SetVault(address vault)
StratHarvest
event StratHarvest(address indexed harvester, uint256 wantHarvested, uint256 tvl)
Unpaused
event Unpaused(address account)
Withdraw
event Withdraw(uint256 tvl)
errors
AddressEmptyCode
error AddressEmptyCode(address target)
AddressInsufficientBalance
error AddressInsufficientBalance(address account)
FailedInnerCall
error FailedInnerCall()
NotManager
error NotManager()
SafeERC20FailedOperation
error SafeERC20FailedOperation(address token)
StrategyPaused
error StrategyPaused()
creation bytecode
0x608060405234801561001057600080fd5b506130e5806100206000396000f3fe6080604052600436106103545760003560e01c80638456cb59116101c6578063c1a3d44c116100f7578063e7a7250a11610095578063f2fde38b1161006f578063f2fde38b146108ab578063f301af42146108cb578063fb617787146108eb578063fbfa77cf1461090057600080fd5b8063e7a7250a14610607578063e941fa7814610607578063f1a392da1461089557600080fd5b8063c5ce281e116100d1578063c5ce281e1461082a578063c7b9d53014610840578063c89039c514610860578063d0e30db01461088057600080fd5b8063c1a3d44c146107d5578063c45a0155146107ea578063c553173f1461080a57600080fd5b80639c9b2e2111610164578063ad29f5da1161013e578063ad29f5da14610769578063b20feaaf1461077e578063b9e950be146107a0578063bbb356d5146107c057600080fd5b80639c9b2e2114610714578063a7e9ca8214610734578063aced16611461075457600080fd5b80638e145459116101a05780638e145459146106b257806397fd323d146106075780639c5e52d5146106c75780639c82f2a4146106f457600080fd5b80638456cb59146106655780638912cb8b1461067a5780638da5cb5b1461069457600080fd5b80634641257d116102a0578063568914121161023e57806367a527931161021857806367a52793146106075780636817031b1461061b578063715018a61461063b578063722713f71461065057600080fd5b806356891412146105b8578063573fef0a146105ce5780635c975abb146105e357600080fd5b8063491d7e141161027a578063491d7e14146105415780634e71d92d146105615780634eb665af146105765780635064010a1461059657600080fd5b80634641257d146105025780634700d305146105175780634746fb551461052c57600080fd5b80631f1fcd511161030d5780632e1a7d4d116102e75780632e1a7d4d1461049857806336569e77146104b85780633f4ba83a146104d857806344b81396146104ed57600080fd5b80631f1fcd51146104385780631fe4a686146104585780632b3297f91461047857600080fd5b806304554443146103605780630c4ed799146103895780630e5c011e146103ab5780630e8fbb5a146103cb57806311588086146103eb57806311b0b42d1461040057600080fd5b3661035b57005b600080fd5b34801561036c57600080fd5b5061037660a25481565b6040519081526020015b60405180910390f35b34801561039557600080fd5b506103a96103a4366004612ac9565b610920565b005b3480156103b757600080fd5b506103a96103c6366004612ac9565b6109b3565b3480156103d757600080fd5b506103a96103e6366004612af4565b6109be565b3480156103f757600080fd5b506103766109f1565b34801561040c57600080fd5b50609e54610420906001600160a01b031681565b6040516001600160a01b039091168152602001610380565b34801561044457600080fd5b50609d54610420906001600160a01b031681565b34801561046457600080fd5b50609c54610420906001600160a01b031681565b34801561048457600080fd5b50609b54610420906001600160a01b031681565b3480156104a457600080fd5b506103a96104b3366004612b11565b610aef565b3480156104c457600080fd5b5060d654610420906001600160a01b031681565b3480156104e457600080fd5b506103a9610bb0565b3480156104f957600080fd5b50610376610bca565b34801561050e57600080fd5b506103a9610c32565b34801561052357600080fd5b506103a9610c3d565b34801561053857600080fd5b50610420610c55565b34801561054d57600080fd5b5060d554610420906001600160a01b031681565b34801561056d57600080fd5b506103a9610cc8565b34801561058257600080fd5b506103a9610591366004612b11565b610cd0565b3480156105a257600080fd5b506105ab610cdd565b6040516103809190612b7a565b3480156105c457600080fd5b5061037660a15481565b3480156105da57600080fd5b506103a9610d03565b3480156105ef57600080fd5b5060655460ff165b6040519015158152602001610380565b34801561061357600080fd5b506000610376565b34801561062757600080fd5b506103a9610636366004612ac9565b610d43565b34801561064757600080fd5b506103a9610da0565b34801561065c57600080fd5b50610376610db2565b34801561067157600080fd5b506103a9610de0565b34801561068657600080fd5b5060a3546105f79060ff1681565b3480156106a057600080fd5b506033546001600160a01b0316610420565b3480156106be57600080fd5b50610420610df0565b3480156106d357600080fd5b506103766106e2366004612ac9565b60986020526000908152604090205481565b34801561070057600080fd5b506103a961070f366004612ac9565b610e3a565b34801561072057600080fd5b506103a961072f366004612ac9565b610e90565b34801561074057600080fd5b506103a961074f366004612b8d565b610f78565b34801561076057600080fd5b50610420610f9c565b34801561077557600080fd5b506103a9610fe6565b34801561078a57600080fd5b50610793610ffa565b6040516103809190612bb9565b3480156107ac57600080fd5b506103a96107bb366004612c4e565b611098565b3480156107cc57600080fd5b50609754610376565b3480156107e157600080fd5b506103766113ec565b3480156107f657600080fd5b50609954610420906001600160a01b031681565b34801561081657600080fd5b506103a9610825366004612b11565b611459565b34801561083657600080fd5b5061037660d75481565b34801561084c57600080fd5b506103a961085b366004612ac9565b611511565b34801561086c57600080fd5b50609f54610420906001600160a01b031681565b34801561088c57600080fd5b506103a96115a7565b3480156108a157600080fd5b5061037660a05481565b3480156108b757600080fd5b506103a96108c6366004612ac9565b611716565b3480156108d757600080fd5b506104206108e6366004612b11565b61178c565b3480156108f757600080fd5b506103a96117b6565b34801561090c57600080fd5b50609a54610420906001600160a01b031681565b610928611878565b6001600160a01b03811661094957609f80546001600160a01b031916905550565b609d546001600160a01b03908116908216036109945760405162461bcd60e51b8152602060048201526005602482015264085dd85b9d60da1b60448201526064015b60405180910390fd5b609f80546001600160a01b0319166001600160a01b0383161790555b50565b6109b08160006118ca565b6109c6611878565b60a3805460ff191682151590811790915560ff16156109e757600060a25550565b6201518060a25550565b60d554604051636cf830c960e11b81523060048201526000602482018190529182916001600160a01b039091169063d9f0619290604401602060405180830381865afa158015610a45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a699190612d0d565b60d65460d7546040516309092f9760e21b815260048101919091526001600160a01b03808416602483015292935060009290911690632424be5c906044016040805180830381865afa158015610ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ae79190612d2a565b509392505050565b609a546001600160a01b03163314610b195760405162461bcd60e51b815260040161098b90612d4e565b6000610b236113ec565b905081811015610b4a57610b3f610b3a8284612d84565b611b16565b610b476113ec565b90505b81811115610b555750805b609a54609d54610b72916001600160a01b03918216911683611ba3565b7f5b6b431d4476a211bb7d41c20d1aab9ae2321deee0d20be3d9fc9b1093fa6e3d610b9b610db2565b60405190815260200160405180910390a15050565b610bb8611878565b610bc0611c02565b610bc86115a7565b565b600060a254600003610bdc5750600090565b600060a05442610bec9190612d84565b9050600060a2548210610c00576000610c0e565b8160a254610c0e9190612d84565b905060a2548160a154610c219190612d97565b610c2b9190612dae565b9250505090565b610bc83260006118ca565b610c45611878565b610c4d610de0565b610bc8611c54565b60995460408051634746fb5560e01b815290516000926001600160a01b031691634746fb559160048083019260209291908290030181865afa158015610c9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc39190612d0d565b905090565b610bc8611c5f565b610cd8611878565b60a255565b60408051808201909152600c81526b536b794c6f636b7374616b6560a01b602082015290565b60a35460ff1615610bc857609a546001600160a01b03163314610d385760405162461bcd60e51b815260040161098b90612d4e565b610bc83260016118ca565b610d4b611dd0565b609a80546001600160a01b0319166001600160a01b0383169081179091556040519081527fd459c7242e23d490831b5676a611c4342d899d28f342d89ae80793e56a930f30906020015b60405180910390a150565b610da8611dd0565b610bc86000611e2a565b6000610dbc610bca565b610dc46109f1565b610dcc6113ec565b610dd69190612dd0565b610cc39190612d84565b610de8611878565b610bc8611e7c565b60995460408051638e14545960e01b815290516000926001600160a01b031691638e1454599160048083019260209291908290030181865afa158015610c9f573d6000803e3d6000fd5b610e42611dd0565b609b80546001600160a01b0319166001600160a01b0383169081179091556040519081527f211f06c051495b535b79192c1a4531d819d569657ff4bd16daa8e9e5e6ed2bfd90602001610d95565b610e98611878565b609d546001600160a01b0390811690821603610ede5760405162461bcd60e51b8152602060048201526005602482015264085dd85b9d60da1b604482015260640161098b565b609e546001600160a01b0390811690821603610f265760405162461bcd60e51b8152602060048201526007602482015266216e617469766560c81b604482015260640161098b565b609780546001810182556000919091527f354a83ed9988f79f6038d4c7a7dadbad8af32f4ad6df893e0e5807a1b1944ff90180546001600160a01b0319166001600160a01b0392909216919091179055565b610f80611878565b6001600160a01b03909116600090815260986020526040902055565b6099546040805163aced166160e01b815290516000926001600160a01b03169163aced16619160048083019260209291908290030181865afa158015610c9f573d6000803e3d6000fd5b610fee611878565b610bc860976000612a23565b611002612a41565b6040518060600160405280611015610c55565b604051639af608c960e01b81523060048201526001600160a01b039190911690639af608c990602401600060405180830381865afa15801561105b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110839190810190612e63565b81526020016000815260200160009052919050565b600054610100900460ff16158080156110b85750600054600160ff909116105b806110d25750303b1580156110d2575060005460ff166001145b6111355760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840161098b565b6000805460ff191660011790558015611158576000805461ff0019166101001790555b60d580546001600160a01b0319166001600160a01b038916908117909155604080516336569e7760e01b815290516336569e77916004808201926020929091908290030181865afa1580156111b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111d59190612d0d565b60d680546001600160a01b0319166001600160a01b0392831617905560d554604080516362e7140f60e11b81529051919092169163c5ce281e9160048083019260209291908290030181865afa158015611233573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112579190612f59565b60d75560d55460405163690e7c0960e01b8152600060048201526001600160a01b039091169063690e7c09906024016020604051808303816000875af11580156112a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112c99190612d0d565b5060d554604051635a998eaf60e11b81523060048201526000602482018190526001600160a01b03898116604484015260648301919091529091169063b5331d5e90608401600060405180830381600087803b15801561132857600080fd5b505af115801561133c573d6000803e3d6000fd5b5050505061138d828036038101906113549190612f72565b858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611eb992505050565b841561139d5761139d60016109be565b80156113e3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b609d546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611435573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc39190612f59565b611461611878565b6097805461147190600190612d84565b8154811061148157611481612fff565b600091825260209091200154609780546001600160a01b0390921691839081106114ad576114ad612fff565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060978054806114ec576114ec613015565b600082815260209020810160001990810180546001600160a01b031916905501905550565b609c546001600160a01b031633146115595760405162461bcd60e51b815260206004820152600b60248201526a085cdd1c985d1959da5cdd60aa1b604482015260640161098b565b609c80546001600160a01b0319166001600160a01b0383169081179091556040519081527f46d58e3fa07bf19b1d27240f0e286b27e9f7c1b0d88933333fe833b60eec541290602001610d95565b60655460ff168061162a5750609960009054906101000a90046001600160a01b03166001600160a01b031663f12d54d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611606573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061162a919061302b565b806116a657506099546001600160a01b031663de73a594611649610cdd565b6040518263ffffffff1660e01b81526004016116659190612b7a565b602060405180830381865afa158015611682573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116a6919061302b565b156116c45760405163e628b94960e01b815260040160405180910390fd5b60006116ce6113ec565b905080156109b0576116df8161202e565b7f4d6ce1e535dbade1c23defba91e23b8f791ce5edc0cc320257a2b364e4e38426611708610db2565b604051908152602001610d95565b61171e611dd0565b6001600160a01b0381166117835760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161098b565b6109b081611e2a565b6097818154811061179c57600080fd5b6000918252602090912001546001600160a01b0316905081565b609a546001600160a01b031633146117e05760405162461bcd60e51b815260040161098b90612d4e565b6117e8611c54565b609d54609a546001600160a01b039182169163a9059cbb91166118096113ec565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af1158015611854573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109b0919061302b565b6033546001600160a01b031633148015906118ac5750611896610f9c565b6001600160a01b0316336001600160a01b031614155b15610bc85760405163607e454560e11b815260040160405180910390fd5b60655460ff168061194d5750609960009054906101000a90046001600160a01b03166001600160a01b031663f12d54d86040518163ffffffff1660e01b8152600401602060405180830381865afa158015611929573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061194d919061302b565b806119c957506099546001600160a01b031663de73a59461196c610cdd565b6040518263ffffffff1660e01b81526004016119889190612b7a565b602060405180830381865afa1580156119a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c9919061302b565b156119e75760405163e628b94960e01b815260040160405180910390fd5b6119ef611c5f565b6119f76120c0565b609e546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a649190612f59565b609e546001600160a01b0316600090815260986020526040902054909150811115611b1157611a9283612234565b611a9a612451565b6000611aa46113ec565b9050611aae610bca565b611ab89082612dd0565b60a1554260a05582611acc57611acc6115a7565b337f9bc239f1724cacfb88cb1d66a2dc437467699b68a8c90d7b63110cf4b6f9241082611af7610db2565b6040805192835260208301919091520160405180910390a2505b505050565b80156109b05760d554604051635f83807f60e11b81523060048201819052600060248301526044820152606481018390526001600160a01b039091169063bf0700fe906084016020604051808303816000875af1158015611b7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b9f9190612f59565b5050565b6040516001600160a01b03838116602483015260448201839052611b1191859182169063a9059cbb906064015b604051602081830303815290604052915060e01b6020820180516001600160e01b0383818316178352505050506124cd565b611c0a612530565b6065805460ff191690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b610bc8610b3a6109f1565b60d554604051636cf830c960e11b8152306004820152600060248201819052916001600160a01b03169063d9f0619290604401602060405180830381865afa158015611caf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cd39190612d0d565b60d554604051632a95b45d60e01b81526001600160a01b03808416600483015292935060009290911690632a95b45d90602401602060405180830381865afa158015611d23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d479190612d0d565b60d554604051635877107960e01b81523060048201819052600060248301526001600160a01b03808516604484015260648301919091529293509116906358771079906084016020604051808303816000875af1158015611dac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b119190612f59565b6033546001600160a01b03163314610bc85760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161098b565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b611e84612579565b6065805460ff191660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611c373390565b600054610100900460ff16611ee05760405162461bcd60e51b815260040161098b90613048565b611ee86125bf565b611ef06125ee565b8151609d80546001600160a01b03199081166001600160a01b039384161790915560408085015160998054841691851691821790556060860151609a805485169186169190911790556080860151609b8054851691861691909117905560a0860151609c805490941694169390931790915580516311b0b42d60e01b815290516311b0b42d916004818101926020929091908290030181865afa158015611f9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fbf9190612d0d565b609e80546001600160a01b0319166001600160a01b039290921691909117905560005b81518110156120155761200d82828151811061200057612000612fff565b6020026020010151610e90565b600101611fe2565b506120238260200151610920565b50506201518060a255565b60d554609d5461204b916001600160a01b0391821691168361261d565b60d554604051631b0f7ab560e21b81523060048201526000602482018190526044820184905260648201526001600160a01b0390911690636c3dead490608401600060405180830381600087803b1580156120a557600080fd5b505af11580156120b9573d6000803e3d6000fd5b5050505050565b60005b6097548110156109b0576000609782815481106120e2576120e2612fff565b6000918252602090912001546001600160a01b0316905073eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeed19810161218357609e60009054906101000a90046001600160a01b03166001600160a01b031663d0e30db0476040518263ffffffff1660e01b81526004016000604051808303818588803b15801561216557600080fd5b505af1158015612179573d6000803e3d6000fd5b505050505061222b565b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a0823190602401602060405180830381865afa1580156121ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121ee9190612f59565b6001600160a01b03831660009081526098602052604090205490915081111561222957609e546122299083906001600160a01b0316836126b3565b505b506001016120c3565b600061223e610c55565b604051639af608c960e01b81523060048201526001600160a01b039190911690639af608c990602401600060405180830381865afa158015612284573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122ac9190810190612e63565b8051609e546040516370a0823160e01b8152306004820152929350600092670de0b6b3a764000092916001600160a01b0316906370a0823190602401602060405180830381865afa158015612305573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123299190612f59565b6123339190612d97565b61233d9190612dae565b90506000670de0b6b3a764000083604001518361235a9190612d97565b6123649190612dae565b609e5490915061237e906001600160a01b03168583611ba3565b6000670de0b6b3a76400008460200151846123999190612d97565b6123a39190612dae565b90506123c36123b0610df0565b609e546001600160a01b03169083611ba3565b6000670de0b6b3a76400008560600151856123de9190612d97565b6123e89190612dae565b609c54609e54919250612408916001600160a01b03908116911683611ba3565b60408051848152602081018490529081018290527fd255b592c7f268a73e534da5219a60ff911b4cf6daae21c7d20527dd657bd99a9060600160405180910390a1505050505050565b609f546001600160a01b031661247d57609e54609d54610bc8916001600160a01b039081169116612765565b609e54609f546001600160a01b039081169116146124b157609e54609f546124b1916001600160a01b039081169116612765565b609f54609d54610bc8916001600160a01b039081169116612765565b60006124e26001600160a01b038416836127dd565b90508051600014158015612507575080806020019051810190612505919061302b565b155b15611b1157604051635274afe760e01b81526001600160a01b038416600482015260240161098b565b60655460ff16610bc85760405162461bcd60e51b815260206004820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b604482015260640161098b565b60655460ff1615610bc85760405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b604482015260640161098b565b600054610100900460ff166125e65760405162461bcd60e51b815260040161098b90613048565b610bc86127f4565b600054610100900460ff166126155760405162461bcd60e51b815260040161098b90613048565b610bc8612824565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261266e8482612857565b6126ad576040516001600160a01b038481166024830152600060448301526126a391869182169063095ea7b390606401611bd0565b6126ad84826124cd565b50505050565b816001600160a01b0316836001600160a01b031614611b1157609b546126e6906001600160a01b0385811691168361261d565b609b54604051630df791e560e41b81526001600160a01b0385811660048301528481166024830152604482018490529091169063df791e50906064016020604051808303816000875af1158015612741573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126ad9190612f59565b6040516370a0823160e01b81523060048201526000906001600160a01b038416906370a0823190602401602060405180830381865afa1580156127ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127d09190612f59565b9050611b118383836126b3565b60606127eb838360006128ff565b90505b92915050565b600054610100900460ff1661281b5760405162461bcd60e51b815260040161098b90613048565b610bc833611e2a565b600054610100900460ff1661284b5760405162461bcd60e51b815260040161098b90613048565b6065805460ff19169055565b6000806000846001600160a01b0316846040516128749190613093565b6000604051808303816000865af19150503d80600081146128b1576040519150601f19603f3d011682016040523d82523d6000602084013e6128b6565b606091505b50915091508180156128e05750805115806128e05750808060200190518101906128e0919061302b565b80156128f657506000856001600160a01b03163b115b95945050505050565b6060814710156129245760405163cd78605960e01b815230600482015260240161098b565b600080856001600160a01b031684866040516129409190613093565b60006040518083038185875af1925050503d806000811461297d576040519150601f19603f3d011682016040523d82523d6000602084013e612982565b606091505b509150915061299286838361299e565b925050505b9392505050565b6060826129b3576129ae826129fa565b612997565b81511580156129ca57506001600160a01b0384163b155b156129f357604051639996b31560e01b81526001600160a01b038516600482015260240161098b565b5080612997565b805115612a0a5780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50805460008255906000526020600020908101906109b09190612a9b565b6040518060600160405280612a876040518060c0016040528060008152602001600081526020016000815260200160008152602001606081526020016000151581525090565b815260200160008152602001600081525090565b5b80821115612ab05760008155600101612a9c565b5090565b6001600160a01b03811681146109b057600080fd5b600060208284031215612adb57600080fd5b813561299781612ab4565b80151581146109b057600080fd5b600060208284031215612b0657600080fd5b813561299781612ae6565b600060208284031215612b2357600080fd5b5035919050565b60005b83811015612b45578181015183820152602001612b2d565b50506000910152565b60008151808452612b66816020860160208601612b2a565b601f01601f19169290920160200192915050565b6020815260006127eb6020830184612b4e565b60008060408385031215612ba057600080fd5b8235612bab81612ab4565b946020939093013593505050565b60208152600082516060602084015280516080840152602081015160a0840152604081015160c0840152606081015160e0840152608081015160c0610100850152612c08610140850182612b4e565b905060a082015115156101208501526020850151604085015260408501516060850152809250505092915050565b600060c08284031215612c4857600080fd5b50919050565b6000806000806000806101408789031215612c6857600080fd5b8635612c7381612ab4565b95506020870135612c8381612ab4565b94506040870135612c9381612ae6565b9350606087013567ffffffffffffffff80821115612cb057600080fd5b818901915089601f830112612cc457600080fd5b813581811115612cd357600080fd5b8a60208260051b8501011115612ce857600080fd5b602083019550809450505050612d018860808901612c36565b90509295509295509295565b600060208284031215612d1f57600080fd5b815161299781612ab4565b60008060408385031215612d3d57600080fd5b505080516020909101519092909150565b602080825260069082015265085d985d5b1d60d21b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156127ee576127ee612d6e565b80820281158282048414176127ee576127ee612d6e565b600082612dcb57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156127ee576127ee612d6e565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612e1c57612e1c612de3565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715612e4b57612e4b612de3565b604052919050565b8051612e5e81612ae6565b919050565b60006020808385031215612e7657600080fd5b825167ffffffffffffffff80821115612e8e57600080fd5b9084019060c08287031215612ea257600080fd5b612eaa612df9565b8251815283830151848201526040830151604082015260608301516060820152608083015182811115612edc57600080fd5b8301601f81018813612eed57600080fd5b805183811115612eff57612eff612de3565b612f11601f8201601f19168701612e22565b93508084528886828401011115612f2757600080fd5b612f3681878601888501612b2a565b5050816080820152612f4a60a08401612e53565b60a08201529695505050505050565b600060208284031215612f6b57600080fd5b5051919050565b600060c08284031215612f8457600080fd5b612f8c612df9565b8235612f9781612ab4565b81526020830135612fa781612ab4565b60208201526040830135612fba81612ab4565b60408201526060830135612fcd81612ab4565b60608201526080830135612fe081612ab4565b608082015260a0830135612ff381612ab4565b60a08201529392505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b60006020828403121561303d57600080fd5b815161299781612ae6565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516130a5818460208701612b2a565b919091019291505056fea26469706673582212200f725495d80a24c66278a7da11f9d6617eae4f6fcdeadb34d5e0d65628748a0964736f6c63430008170033