0 txs
738 calls
constructor
No constructor.
functions
AURA
viewfunction AURA() view returns (address)
AURABAL
viewfunction AURABAL() view returns (address)
auraBribe
viewfunction auraBribe() view returns (address)
defaultSwapper
viewfunction defaultSwapper() view returns (address)
DENOMINATOR
viewfunction DENOMINATOR() view returns (uint256)
getSwapper
viewfunction getSwapper(address _tokenIn, address _tokenOut) view returns (address)
incentiveSettings
viewfunction incentiveSettings() view returns (address jAURAVoter, address jonesTreasury, address auraTreasury, address withdrawRecipient, address jAuraLPAddress, uint64 jonesTreasuryPercent, uint64 auraTreasuryPercent, uint64 withdrawPercent, uint64 bribesPercent)
inchSwapper
viewfunction inchSwapper() view returns (address)
keeper
viewfunction keeper() view returns (address)
LOCKER
viewfunction LOCKER() view returns (address)
newAuraBribe
viewfunction newAuraBribe() view returns (address)
owner
viewfunction owner() view returns (address)
router
viewfunction router() view returns (address)
SNAPSHOT
viewfunction SNAPSHOT() view returns (address)
swappers
viewfunction swappers(address, address) view returns (address)
totalAssets
viewfunction totalAssets() view returns (uint256)
totalAssetsLSD
viewfunction totalAssetsLSD() view returns (uint256)
totalNoTokenizedAssets
viewfunction totalNoTokenizedAssets() view returns (uint256)
vault
viewfunction vault() view returns (address)
vaultsCurrentPosition
viewfunction vaultsCurrentPosition() view returns (uint256, uint256)
vaultsPosition
viewfunction vaultsPosition() view returns (uint256, uint256)
WETH
viewfunction WETH() view returns (address)
withdrawRetention
viewfunction withdrawRetention() view returns (address recipient, uint64 percent)
afterRehyphotecate
nonpayablefunction afterRehyphotecate(uint256 _auraAmount, bool _tokenized)
claimHiddenHand
nonpayablefunction claimHiddenHand(address hiddenHandDistributor, tuple[] _claims)
clearSnapshotDelegate
nonpayablefunction clearSnapshotDelegate(bytes32 id)
deposit
nonpayablefunction deposit(uint256 auraAmount, bool tokenized)
forwardHiddenHandRewards
nonpayablefunction forwardHiddenHandRewards(address delegate)
harvest
nonpayablefunction harvest(bool autoCompoundAll, uint256 minAmountOut)
initialize
nonpayablefunction initialize(address _router, address _vault, address _keeper, tuple _incentiveSettings)
L2sClaimHiddenHand
nonpayablefunction L2sClaimHiddenHand(address hiddenHandDistributor, tuple[] _claims, address rewardBridge)
processEarned
nonpayablefunction processEarned(address tokenIn, uint256 amountIn, address tokenOut, uint256 minAmountOut, bytes externalData)
relock
nonpayablefunction relock()
relockExpiredLocks
nonpayablefunction relockExpiredLocks(bool _shouldRelock)
renounceOwnership
nonpayablefunction renounceOwnership()
rescueStuckEther
nonpayablefunction rescueStuckEther()
setAuraLockerDelegate
nonpayablefunction setAuraLockerDelegate(address delegate)
setCustomAllowance
nonpayablefunction setCustomAllowance(address token, address tokenSwapper, uint256 allowance)
setFeeSettings
nonpayablefunction setFeeSettings(tuple _incentiveSettings)
setKeeper
nonpayablefunction setKeeper(address _keeper)
setRouter
nonpayablefunction setRouter(address _router)
setSnapshotDelegate
nonpayablefunction setSnapshotDelegate(bytes32 id, address delegate)
setTokenSwapper
nonpayablefunction setTokenSwapper(address tokenIn, address tokenOut, address tokenSwapper, uint256 allowance)
setVault
nonpayablefunction setVault(address _vault)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
updateDefaultSwapper
nonpayablefunction updateDefaultSwapper(address _defaultSwapper)
updateNewAuraBribe
nonpayablefunction updateNewAuraBribe(address _newAuraBribe)
updateShouldRelock
nonpayablefunction updateShouldRelock(bool _status)
withdraw
nonpayablefunction withdraw(address user, uint256 amount, bool tokenized) returns (uint256)
events
Initialized
event Initialized(uint8 version)
OnBribeNotify
event OnBribeNotify(address[] rewardTokens, uint256[] rewardAmounts)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Relock
event Relock(uint256 amount)
errors
InsufficientWithdraw
error InsufficientWithdraw()
InvalidAmountIn
error InvalidAmountIn(uint256 have, uint256 want)
InvalidToken
error InvalidToken()
InvalidTokenIn
error InvalidTokenIn(address have, address want)
NoReward
error NoReward()
NoSwapper
error NoSwapper()
notOwner
error notOwner()
Unauthorized
error Unauthorized()
creation bytecode
0x608060405234801561001057600080fd5b50613b8d806100206000396000f3fe6080604052600436106102b25760003560e01c8063918f867411610175578063c3b16760116100dc578063e22f307b11610095578063ec1ee5b71161006f578063ec1ee5b7146109bd578063f2fde38b146109dd578063f887ea40146109fd578063fbfa77cf14610a1d57600080fd5b8063e22f307b146108ba578063ead5d359146108cf578063ec0d1089146108ef57600080fd5b8063c3b16760146107f3578063c53b573d14610813578063cf6cfcfe14610828578063d02221a314610850578063d303834114610870578063db5695b51461089057600080fd5b8063aced16611161012e578063aced1661146106ea578063ad5c46481461070a578063b104c6a414610732578063b5b5e89114610772578063b866d7ed14610792578063c0d78655146107d357600080fd5b8063918f867414610634578063931d4a041461064a578063990a618e1461066a578063995e74591461068a5780639a408321146106aa578063a592b7e6146106ca57600080fd5b80634322e910116102195780636e72905b116101d25780636e72905b14610584578063715018a614610599578063748747e6146105ae578063863cb052146105ce5780638ad41d2a146105ee5780638da5cb5b1461061657600080fd5b80634322e910146104c457806344552767146104e457806346af4d32146105045780634aaa193f1461052457806361748b01146105445780636817031b1461056457600080fd5b8063311729e81161026b578063311729e8146104055780633347df291461042d57806336e6ef111461044d5780633829aea31461046d5780633e82309e1461048f5780633faaba88146104af57600080fd5b806301e1d1141461031e57806308ecd9a6146103465780630afa0948146103865780630afcc83e146103a85780630b90686e146103bd5780632f100035146103e557600080fd5b3661031957600073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2905034632e1a7d4d60405181815260008060046020840186885af192508215600181146102fa57610312565b6915d155120e881190525360b21b9250828252600a82fd5b5050505050005b600080fd5b34801561032a57600080fd5b50610333610a3d565b6040519081526020015b60405180910390f35b34801561035257600080fd5b5061036e733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac81565b6040516001600160a01b03909116815260200161033d565b34801561039257600080fd5b506103a66103a1366004613037565b610b35565b005b3480156103b457600080fd5b5060a054610333565b3480156103c957600080fd5b5061036e731111111254fb6c44bac0bed2854e76f90643097d81565b3480156103f157600080fd5b506103a6610400366004613075565b610ba6565b34801561041157600080fd5b5061036e73469788fe6e9e9681c6ebf3bf78e7fd26fc01544681565b34801561043957600080fd5b506103a6610448366004613092565b610bee565b34801561045957600080fd5b5061036e6104683660046130d3565b610c2a565b34801561047957600080fd5b5061036e600080516020613b3883398151915281565b34801561049b57600080fd5b506103a66104aa36600461310c565b610cb4565b3480156104bb57600080fd5b506103a6610d09565b3480156104d057600080fd5b5060a35461036e906001600160a01b031681565b3480156104f057600080fd5b506103a66104ff36600461329a565b610d4d565b34801561051057600080fd5b506103a661051f366004613075565b610ff1565b34801561053057600080fd5b506103a661053f3660046132f6565b61101b565b34801561055057600080fd5b506103a661055f366004613329565b61109b565b34801561057057600080fd5b506103a661057f366004613075565b6110be565b34801561059057600080fd5b506103336110e8565b3480156105a557600080fd5b506103a66110fa565b3480156105ba57600080fd5b506103a66105c9366004613075565b61110e565b3480156105da57600080fd5b506103a66105e936600461334e565b611138565b3480156105fa57600080fd5b5061036e73642c59937a62cf7dc92f70fd78a13cee0aa2bd9c81565b34801561062257600080fd5b506033546001600160a01b031661036e565b34801561064057600080fd5b5061033361271081565b34801561065657600080fd5b506103a66106653660046133b6565b611179565b34801561067657600080fd5b5060a45461036e906001600160a01b031681565b34801561069657600080fd5b506103a66106a536600461340a565b611614565b3480156106b657600080fd5b506103a66106c5366004613329565b6118b0565b3480156106d657600080fd5b506103a66106e5366004613075565b6118e2565b3480156106f657600080fd5b5060995461036e906001600160a01b031681565b34801561071657600080fd5b5061036e73c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281565b34801561073e57600080fd5b50609d54609f54604080516001600160a01b039093168352600160401b9091046001600160401b031660208301520161033d565b34801561077e57600080fd5b506103a661078d3660046134d7565b61190c565b34801561079e57600080fd5b5061036e6107ad3660046130d3565b60a26020908152600092835260408084209091529082529020546001600160a01b031681565b3480156107df57600080fd5b506103a66107ee366004613075565b611d7c565b3480156107ff57600080fd5b506103a661080e366004613075565b611da6565b34801561081f57600080fd5b506103a6611dee565b34801561083457600080fd5b5061036e73616e8bfa43f920657b3497dbf40d6b1a02d4608d81565b34801561085c57600080fd5b506103a661086b36600461353e565b611e10565b34801561087c57600080fd5b506103a661088b36600461334e565b611fd6565b34801561089c57600080fd5b506108a5611ff8565b6040805192835260208301919091520161033d565b3480156108c657600080fd5b506108a5612107565b3480156108db57600080fd5b506103336108ea36600461356a565b6121d1565b3480156108fb57600080fd5b50609a54609b54609c54609d54609e54609f54610958956001600160a01b0390811695811694811693811692908116916001600160401b03600160a01b90920482169181811691600160401b8104821691600160801b9091041689565b604080516001600160a01b039a8b168152988a1660208a01529689169688019690965293871660608701529190951660808501526001600160401b0394851660a0850152841660c0840152831660e0830152919091166101008201526101200161033d565b3480156109c957600080fd5b506103a66109d83660046135ac565b612460565b3480156109e957600080fd5b506103a66109f8366004613075565b61254c565b348015610a0957600080fd5b5060975461036e906001600160a01b031681565b348015610a2957600080fd5b5060985461036e906001600160a01b031681565b6040516327e235e360e01b81523060048201526000908190733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac906327e235e3906024016040805180830381865afa158015610a90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ab49190613642565b6040516370a0823160e01b8152306004820152909150600080516020613b38833981519152906370a0823190602401602060405180830381865afa158015610b00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b24919061365e565b90516001600160701b031601919050565b610b3d6125c2565b60405163785f6df160e11b81526004810182905273469788fe6e9e9681c6ebf3bf78e7fd26fc0154469063f0bedbe2906024015b600060405180830381600087803b158015610b8b57600080fd5b505af1158015610b9f573d6000803e3d6000fd5b5050505050565b610bae6125c2565b604051633e58963160e21b81526001600160a01b038216600482015273642c59937a62cf7dc92f70fd78a13cee0aa2bd9c9063f96258c490602401610b71565b610bf66125c2565b610c0b6001600160a01b03841683600061261c565b8015610c2557610c256001600160a01b038416838361261c565b505050565b6001600160a01b03808316600090815260a26020908152604080832085851684529091528120549091168015610c61579050610cae565b610c6a84612764565b8015610c7d57506001600160a01b038116155b15610c9557505060a3546001600160a01b0316610cae565b60405163c1ab6dc160e01b815260040160405180910390fd5b92915050565b610cbc6125c2565b6001600160a01b03848116600081815260a2602090815260408083208886168452909152902080546001600160a01b03191692851692909217909155610d0390838361261c565b50505050565b610d116125c2565b6033546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610d4a573d6000803e3d6000fd5b50565b600054610100900460ff1615808015610d6d5750600054600160ff909116105b80610d875750303b158015610d87575060005460ff166001145b610def5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610e12576000805461ff0019166101001790555b33732a88a454a7b0c29d36d5a121b7cf582db01bfcec14610e465760405163251c9d6360e01b815260040160405180910390fd5b610e4e6127d3565b610e56612802565b609780546001600160a01b03199081166001600160a01b03888116919091179092556098805482168784161790556099805482168684161790558351609a805483169184169190911790556020840151609b805483169184169190911790556040840151609c805483169184169190911790556060840151609d80549092169083161790556080830151609e805460a0860151929093166001600160e01b031990931692909217600160a01b6001600160401b03928316021790915560c0830151609f805460e08601516101008701519385166001600160801b031990921691909117600160401b918516919091021767ffffffffffffffff60801b1916600160801b9290931691909102919091179055610f96600080516020613b38833981519152733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac60001961261c565b60a1805461ff0019166101001790558015610b9f576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15050505050565b610ff96125c2565b60a380546001600160a01b0319166001600160a01b0392909216919091179055565b6110236125c2565b6040516317b0dca160e31b8152600481018390526001600160a01b038216602482015273469788fe6e9e9681c6ebf3bf78e7fd26fc0154469063bd86e50890604401600060405180830381600087803b15801561107f57600080fd5b505af1158015611093573d6000803e3d6000fd5b505050505050565b6110a3612831565b806110ba578160a0546110b6919061368d565b60a0555b5050565b6110c66125c2565b609880546001600160a01b0319166001600160a01b0392909216919091179055565b6000806110f3611ff8565b5092915050565b6111026125c2565b61110c600061285b565b565b6111166125c2565b609980546001600160a01b0319166001600160a01b0392909216919091179055565b6111406128ad565b60405163312ff83960e01b81528115156004820152733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac9063312ff83990602401610b71565b6111816128d7565b6111896128ad565b806000816001600160401b038111156111a4576111a461315d565b6040519080825280602002602001820160405280156111cd578160200160208202803683370190505b5090506000826001600160401b038111156111ea576111ea61315d565b604051908082528060200260200182016040528015611213578160200160208202803683370190505b50905060005b8381101561139357866001600160a01b031663938d967a878784818110611242576112426136a5565b905060200281019061125491906136bb565b60405160e083901b6001600160e01b031916815290356004820152602401608060405180830381865afa15801561128f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b391906136db565b50508351849150839081106112ca576112ca6136a5565b60200260200101816001600160a01b03166001600160a01b0316815250508181815181106112fa576112fa6136a5565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa15801561134a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061136e919061365e565b838281518110611380576113806136a5565b6020908102919091010152600101611219565b60008061139e611ff8565b60a1805460ff19166001179055604051630ad0a67360e31b815291935091506001600160a01b038a16906356853398906113de908b908b90600401613750565b600060405180830381600087803b1580156113f857600080fd5b505af115801561140c573d6000803e3d6000fd5b505060a1805460ff191690555060009350839050866001600160401b038111156114385761143861315d565b604051908082528060200260200182016040528015611461578160200160208202803683370190505b5090505b868410156115ca5785848151811061147f5761147f6136a5565b6020026020010151858581518110611499576114996136a5565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa1580156114e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061150d919061365e565b611517919061383b565b818581518110611529576115296136a5565b602002602001018181525050600080516020613b388339815191526001600160a01b031685858151811061155f5761155f6136a5565b60200260200101516001600160a01b03161480156115965750600081858151811061158c5761158c6136a5565b6020026020010151115b156115bf576115bf8185815181106115b0576115b06136a5565b60200260200101518484612931565b836001019350611465565b7fc0710e1f73bab78913a15c65aaaad16937b19b0d07c360975389c27ad4a8de6185826040516115fb929190613852565b60405180910390a150505050505050610c256001606555565b61161c6128d7565b6116246128ad565b6001600160a01b038516600080516020613b38833981519152141561167b576040516353f8171160e01b81526001600160a01b0386166004820152600080516020613b388339815191526024820152604401610de6565b8315806116ee57506040516370a0823160e01b81523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa1580156116c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116eb919061365e565b84115b1561177f576040516370a0823160e01b815230600482015284906001600160a01b038716906370a0823190602401602060405180830381865afa158015611739573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061175d919061365e565b6040516313f6ca6f60e21b815260048101929092526024820152604401610de6565b600061178b8685610c2a565b90506001600160a01b0381166117b4576040516324fe885560e01b815260040160405180910390fd5b6000806117bf611ff8565b90925090506001600160a01b03881673616e8bfa43f920657b3497dbf40d6b1a02d4608d146117fc576117fc6001600160a01b0389168489612b9f565b6040516384422d7160e01b81526000906001600160a01b038516906384422d7190611833908c908c908c908c908c9060040161392e565b6020604051808303816000875af1158015611852573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611876919061365e565b90506001600160a01b038716600080516020613b3883398151915214156118a2576118a2818484612931565b50505050610b9f6001606555565b6118b86128d7565b6118c0612831565b80156118d8578160a0546118d4919061368d565b60a0555b6110ba6001606555565b6118ea6125c2565b60a480546001600160a01b0319166001600160a01b0392909216919091179055565b6119146128d7565b61191c6128ad565b60008383905090506000856001600160a01b031663be309bca6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611964573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119889190613968565b90506000826001600160401b038111156119a4576119a461315d565b6040519080825280602002602001820160405280156119cd578160200160208202803683370190505b50905060005b83811015611aa457876001600160a01b031663938d967a8888848181106119fc576119fc6136a5565b9050602002810190611a0e91906136bb565b60405160e083901b6001600160e01b031916815290356004820152602401608060405180830381865afa158015611a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6d91906136db565b5050835184915083908110611a8457611a846136a5565b6001600160a01b03909216602092830291909101909101526001016119d3565b604051630ad0a67360e31b81526001600160a01b03891690635685339890611ad2908a908a90600401613750565b600060405180830381600087803b158015611aec57600080fd5b505af1158015611b00573d6000803e3d6000fd5b50505050600090505b83811015611d6e57826001600160a01b0316828281518110611b2d57611b2d6136a5565b60200260200101516001600160a01b03161415611c4157478015611c3b5773c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b158015611b9a57600080fd5b505af1158015611bae573d6000803e3d6000fd5b505060405163a9059cbb60e01b81526001600160a01b038a1660048201526024810185905273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2935063a9059cbb925060440190506020604051808303816000875af1158015611c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c399190613985565b505b50611d66565b6000828281518110611c5557611c556136a5565b60209081029190910101516040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc9919061365e565b90508015611d6457828281518110611ce357611ce36136a5565b602090810291909101015160405163a9059cbb60e01b81526001600160a01b038881166004830152602482018490529091169063a9059cbb906044016020604051808303816000875af1158015611d3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d629190613985565b505b505b600101611b09565b50505050610d036001606555565b611d846125c2565b609780546001600160a01b0319166001600160a01b0392909216919091179055565b611dae6125c2565b6040516317066a5760e21b81526001600160a01b0382166004820152733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac90635c19a95c90602401610b71565b611df66128d7565b611dfe6128ad565b611e06612bcf565b61110c6001606555565b611e186128ad565b6040516370a0823160e01b815230600482015260009073616e8bfa43f920657b3497dbf40d6b1a02d4608d906370a0823190602401602060405180830381865afa158015611e6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e8e919061365e565b604051630c00007b60e41b8152306004820152909150733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac9063c00007b090602401600060405180830381600087803b158015611edd57600080fd5b505af1158015611ef1573d6000803e3d6000fd5b50506040516370a0823160e01b81523060048201526000925083915073616e8bfa43f920657b3497dbf40d6b1a02d4608d906370a0823190602401602060405180830381865afa158015611f49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f6d919061365e565b0390508060001415611f925760405163374c934360e11b815260040160405180910390fd5b8315610d0357610d0373616e8bfa43f920657b3497dbf40d6b1a02d4608d82600080516020613b388339815191528660405180602001604052806000815250611614565b611fde6125c2565b60a180549115156101000261ff0019909216919091179055565b6040516327e235e360e01b815230600482015260009081908190733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac906327e235e3906024016040805180830381865afa15801561204d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120719190613642565b6040516370a0823160e01b8152306004820152909150600090600080516020613b38833981519152906370a0823190602401602060405180830381865afa1580156120c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120e4919061365e565b82600001516001600160701b031601905060a054810360a0549350935050509091565b6040516370a0823160e01b815230600482015260009081908190600080516020613b38833981519152906370a0823190602401602060405180830381865afa158015612157573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061217b919061365e565b9050600080612188611ff8565b90925090506000612199828461368d565b6121a385856139a2565b6121ad91906139d7565b905060008085116121bf5760006121c3565b8185035b919791965090945050505050565b60006121db6128d7565b6121e3612831565b6040516370a0823160e01b8152306004820152600090600080516020613b38833981519152906370a0823190602401602060405180830381865afa15801561222f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612253919061365e565b90508381101561236f57604051630241d3fb60e11b8152306004820152600090733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac90630483a7f690602401600060405180830381865afa1580156122af573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526122d791908101906139f9565b50509150508482826122e9919061368d565b10156123085760405163c0b99cad60e01b815260040160405180910390fd5b60405163312ff83960e01b815260006004820152733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac9063312ff83990602401600060405180830381600087803b15801561235557600080fd5b505af1158015612369573d6000803e3d6000fd5b50505050505b821561238f578360a0541161238557600061238b565b8360a054035b60a0555b609f54600160401b90046001600160401b0316158015906123ba5750609d546001600160a01b031615155b1561243757609f54600090612710906123e390600160401b90046001600160401b0316876139a2565b6123ed91906139d7565b9050600060036123fe8360026139a2565b61240891906139d7565b609d5490915061243190600080516020613b38833981519152906001600160a01b031683612b9f565b50909303925b612450600080516020613b388339815191528686612b9f565b50506001606555815b9392505050565b6124686125c2565b8051609a80546001600160a01b03199081166001600160a01b03938416179091556020830151609b805483169184169190911790556040830151609c805483169184169190911790556060830151609d80549092169083161790556080820151609e805460a0850151929093166001600160e01b031990931692909217600160a01b6001600160401b03928316021790915560c0820151609f805460e0850151610100909501519284166001600160801b031990911617600160401b948416949094029390931767ffffffffffffffff60801b1916600160801b9190921602179055565b6125546125c2565b6001600160a01b0381166125b95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610de6565b610d4a8161285b565b6033546001600160a01b0316331461110c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610de6565b8015806126965750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015612670573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612694919061365e565b155b6127015760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610de6565b6040516001600160a01b038316602482015260448101829052610c2590849063095ea7b360e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152612d81565b60a45460405163559bfa4360e11b81526001600160a01b038381166004830152600092169063ab37f48690602401602060405180830381865afa1580156127af573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cae9190613985565b600054610100900460ff166127fa5760405162461bcd60e51b8152600401610de690613ac7565b61110c612e53565b600054610100900460ff166128295760405162461bcd60e51b8152600401610de690613ac7565b61110c612e83565b6097546001600160a01b0316331461110c576040516282b42960e81b815260040160405180910390fd5b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6099546001600160a01b0316331461110c576040516282b42960e81b815260040160405180910390fd5b6002606554141561292a5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610de6565b6002606555565b609b5483906001600160a01b03161561299257609e54612710600160a01b9091046001600160401b0316850204801561299057609b5461298a90600080516020613b38833981519152906001600160a01b031683612b9f565b80820391505b505b609c546001600160a01b0316156129eb57609f546127106001600160401b0390911685020480156129e957609c546129e390600080516020613b38833981519152906001600160a01b031683612b9f565b80820391505b505b600083830182840281612a0057612a006139c1565b60a08054929091049182019055609a549091506001600160a01b031615801590612a345750609e546001600160a01b031615155b15610b9f576000612710609860009054906101000a90046001600160a01b03166001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015612a91573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ab5919061365e565b609f54609854609e546040516370a0823160e01b81526001600160a01b039182166004820152600160801b9093046001600160401b0316929116906370a0823190602401602060405180830381865afa158015612b16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b3a919061365e565b85020281612b4a57612b4a6139c1565b0481612b5857612b586139c1565b049050801561109357609a54612b8790600080516020613b38833981519152906001600160a01b031683612b9f565b60a080548290039055505050505050565b6001606555565b6040516001600160a01b038316602482015260448101829052610c2590849063a9059cbb60e01b9060640161272d565b60a154610100900460ff161561110c576040516370a0823160e01b8152306004820152600090600080516020613b38833981519152906370a0823190602401602060405180830381865afa158015612c2b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c4f919061365e565b90506000609760009054906101000a90046001600160a01b03166001600160a01b031663631359216040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ca6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612cca919061365e565b9050808211156110ba5760405163282d3fdf60e01b81523060048201528183036024820181905290733fa73f1e5d8a792c80f426fc8f84fbf7ce9bbcac9063282d3fdf90604401600060405180830381600087803b158015612d2b57600080fd5b505af1158015612d3f573d6000803e3d6000fd5b505050507f8a30af6341c85cd87be41dc61bcbabb7e451939be8bef959fb5783a87874cd4e81604051612d7491815260200190565b60405180910390a1505050565b6000612dd6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316612eaa9092919063ffffffff16565b805190915015610c255780806020019051810190612df49190613985565b610c255760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610de6565b600054610100900460ff16612e7a5760405162461bcd60e51b8152600401610de690613ac7565b61110c3361285b565b600054610100900460ff16612b985760405162461bcd60e51b8152600401610de690613ac7565b6060612eb98484600085612ec1565b949350505050565b606082471015612f225760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610de6565b600080866001600160a01b03168587604051612f3e9190613b12565b60006040518083038185875af1925050503d8060008114612f7b576040519150601f19603f3d011682016040523d82523d6000602084013e612f80565b606091505b5091509150612f9187838387612f9c565b979650505050505050565b60608315613008578251613001576001600160a01b0385163b6130015760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610de6565b5081612eb9565b612eb9838381511561301d5781518083602001fd5b8060405162461bcd60e51b8152600401610de69190613b24565b60006020828403121561304957600080fd5b5035919050565b6001600160a01b0381168114610d4a57600080fd5b803561307081613050565b919050565b60006020828403121561308757600080fd5b813561245981613050565b6000806000606084860312156130a757600080fd5b83356130b281613050565b925060208401356130c281613050565b929592945050506040919091013590565b600080604083850312156130e657600080fd5b82356130f181613050565b9150602083013561310181613050565b809150509250929050565b6000806000806080858703121561312257600080fd5b843561312d81613050565b9350602085013561313d81613050565b9250604085013561314d81613050565b9396929550929360600135925050565b634e487b7160e01b600052604160045260246000fd5b60405161012081016001600160401b03811182821017156131965761319661315d565b60405290565b604051601f8201601f191681016001600160401b03811182821017156131c4576131c461315d565b604052919050565b80356001600160401b038116811461307057600080fd5b600061012082840312156131f657600080fd5b6131fe613173565b905061320982613065565b815261321760208301613065565b602082015261322860408301613065565b604082015261323960608301613065565b606082015261324a60808301613065565b608082015261325b60a083016131cc565b60a082015261326c60c083016131cc565b60c082015261327d60e083016131cc565b60e08201526101006132908184016131cc565b9082015292915050565b60008060008061018085870312156132b157600080fd5b84356132bc81613050565b935060208501356132cc81613050565b925060408501356132dc81613050565b91506132eb86606087016131e3565b905092959194509250565b6000806040838503121561330957600080fd5b82359150602083013561310181613050565b8015158114610d4a57600080fd5b6000806040838503121561333c57600080fd5b8235915060208301356131018161331b565b60006020828403121561336057600080fd5b81356124598161331b565b60008083601f84011261337d57600080fd5b5081356001600160401b0381111561339457600080fd5b6020830191508360208260051b85010111156133af57600080fd5b9250929050565b6000806000604084860312156133cb57600080fd5b83356133d681613050565b925060208401356001600160401b038111156133f157600080fd5b6133fd8682870161336b565b9497909650939450505050565b600080600080600060a0868803121561342257600080fd5b853561342d81613050565b94506020868101359450604087013561344581613050565b93506060870135925060808701356001600160401b038082111561346857600080fd5b818901915089601f83011261347c57600080fd5b81358181111561348e5761348e61315d565b6134a0601f8201601f1916850161319c565b91508082528a848285010111156134b657600080fd5b80848401858401376000848284010152508093505050509295509295909350565b600080600080606085870312156134ed57600080fd5b84356134f881613050565b935060208501356001600160401b0381111561351357600080fd5b61351f8782880161336b565b909450925050604085013561353381613050565b939692955090935050565b6000806040838503121561355157600080fd5b823561355c8161331b565b946020939093013593505050565b60008060006060848603121561357f57600080fd5b833561358a81613050565b92506020840135915060408401356135a18161331b565b809150509250925092565b600061012082840312156135bf57600080fd5b61245983836131e3565b6000604082840312156135db57600080fd5b604051604081018181106001600160401b03821117156135fd576135fd61315d565b806040525080915082516001600160701b038116811461361c57600080fd5b8152602083015163ffffffff8116811461363557600080fd5b6020919091015292915050565b60006040828403121561365457600080fd5b61245983836135c9565b60006020828403121561367057600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600082198211156136a0576136a0613677565b500190565b634e487b7160e01b600052603260045260246000fd5b60008235607e198336030181126136d157600080fd5b9190910192915050565b600080600080608085870312156136f157600080fd5b84516136fc81613050565b60208601516040870151606090970151919890975090945092505050565b81835260006001600160fb1b0383111561373357600080fd5b8260051b8083602087013760009401602001938452509192915050565b60208082528181018390526000906040808401600586811b8601830188865b8981101561382c57888303603f190185528135368c9003607e1901811261379557600080fd5b8b01803584526080888201356137aa81613050565b6001600160a01b0316858a0152818801358886015260608083013536849003601e190181126137d857600080fd5b830180356001600160401b038111156137f057600080fd5b80891b360385131561380157600080fd5b8383890152613815848901828e850161371a565b998c0199975050509389019350505060010161376f565b50909998505050505050505050565b60008282101561384d5761384d613677565b500390565b604080825283519082018190526000906020906060840190828701845b828110156138945781516001600160a01b03168452928401929084019060010161386f565b5050508381038285015284518082528583019183019060005b818110156138c9578351835292840192918401916001016138ad565b5090979650505050505050565b60005b838110156138f15781810151838201526020016138d9565b83811115610d035750506000910152565b6000815180845261391a8160208601602086016138d6565b601f01601f19169290920160200192915050565b6001600160a01b03868116825260208201869052841660408201526060810183905260a060808201819052600090612f9190830184613902565b60006020828403121561397a57600080fd5b815161245981613050565b60006020828403121561399757600080fd5b81516124598161331b565b60008160001904831182151516156139bc576139bc613677565b500290565b634e487b7160e01b600052601260045260246000fd5b6000826139f457634e487b7160e01b600052601260045260246000fd5b500490565b60008060008060808587031215613a0f57600080fd5b845193506020808601519350604080870151935060608701516001600160401b0380821115613a3d57600080fd5b818901915089601f830112613a5157600080fd5b815181811115613a6357613a6361315d565b613a71858260051b0161319c565b818152858101925060069190911b83018501908b821115613a9157600080fd5b928501925b81841015613ab757613aa88c856135c9565b83529284019291850191613a96565b989b979a50959850505050505050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082516136d18184602087016138d6565b602081526000612459602083018461390256fe000000000000000000000000c0c293ce456ff0ed870add98a0828dd4d2903dbfa26469706673582212208898cd3e253a34e4d3e7b1ad22f5506fa5626bb22b24f5ca794a3d02855be33064736f6c634300080a0033