0 txs
0 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
df
viewfunction df() view returns (address)
dForceRewardDistributor
viewfunction dForceRewardDistributor() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
iUsdt
viewfunction iUsdt() view returns (address)
liquidationValue
viewfunction liquidationValue() view returns (uint256)
navSlippageBP
viewfunction navSlippageBP() view returns (uint256)
netAssetValue
viewfunction netAssetValue() view returns (uint256)
PORTFOLIO_AGENT_ROLE
viewfunction PORTFOLIO_AGENT_ROLE() view returns (bytes32)
PORTFOLIO_MANAGER
viewfunction PORTFOLIO_MANAGER() view returns (bytes32)
portfolioManager
viewfunction portfolioManager() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
stakeSlippageBP
viewfunction stakeSlippageBP() view returns (uint256)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
swapSlippageBP
viewfunction swapSlippageBP() view returns (uint256)
usdt
viewfunction usdt() view returns (address)
claimRewards
nonpayablefunction claimRewards(address _to) returns (uint256)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize()
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setParams
nonpayablefunction setParams(tuple params)
setPortfolioManager
nonpayablefunction setPortfolioManager(address _value)
setSlippages
nonpayablefunction setSlippages(uint256 _swapSlippageBP, uint256 _navSlippageBP, uint256 _stakeSlippageBP)
stake
nonpayablefunction stake(address _asset, uint256 _amount)
unstake
nonpayablefunction unstake(address _asset, uint256 _amount, address _beneficiary, bool _targetIsZero) returns (uint256)
upgradeTo
nonpayablefunction upgradeTo(address newImplementation)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
AdminChanged
event AdminChanged(address previousAdmin, address newAdmin)
BeaconUpgraded
event BeaconUpgraded(address indexed beacon)
Initialized
event Initialized(uint8 version)
PortfolioManagerUpdated
event PortfolioManagerUpdated(address value)
Reward
event Reward(uint256 amount)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SlippagesUpdated
event SlippagesUpdated(uint256 swapSlippageBP, uint256 navSlippageBP, uint256 stakeSlippageBP)
Stake
event Stake(uint256 amount)
StrategyUpdatedParams
event StrategyUpdatedParams()
Unstake
event Unstake(uint256 amount, uint256 amountReceived)
Upgraded
event Upgraded(address indexed implementation)
errors
No errors.
creation bytecode
0x60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b620014381760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b6080516131946200018860003960008181610654015281816106940152818161073301528181610773015261080201526131946000f3fe6080604052600436106101c25760003560e01c8063620b75df116100f7578063a3673b3811610095578063bf52e08011610064578063bf52e080146104e1578063d547741f146104f7578063ef5cfb8c14610517578063f6f6b8811461053757600080fd5b8063a3673b3814610289578063a440b21a14610481578063adc9772e146104a1578063ae30c110146104c157600080fd5b80638129fc1c116100d15780638129fc1c1461041657806391d148541461042b5780639d35f5941461044b578063a217fddf1461046c57600080fd5b8063620b75df146103b457806370d2b5f7146103d45780637d5f5802146103f457600080fd5b806336568abe116101645780634f1ef2861161013e5780634f1ef2861461034257806352d1902d146103555780635ca558f81461036a5780635dbd733a1461038057600080fd5b806336568abe146102e15780633659cfe6146103015780633febf9781461032157600080fd5b8063248a9ca3116101a0578063248a9ca3146102595780632576e65a146102895780632f2ff15d1461029e5780632f48ab7d146102c057600080fd5b806301ffc9a7146101c757806308fcf674146101fc578063119cd87914610235575b600080fd5b3480156101d357600080fd5b506101e76101e2366004612a56565b610557565b60405190151581526020015b60405180910390f35b34801561020857600080fd5b5061012f5461021d906001600160a01b031681565b6040516001600160a01b0390911681526020016101f3565b34801561024157600080fd5b5061024b60fd5481565b6040519081526020016101f3565b34801561026557600080fd5b5061024b610274366004612a80565b60009081526065602052604090206001015490565b34801561029557600080fd5b5061024b61058e565b3480156102aa57600080fd5b506102be6102b9366004612ab0565b61059d565b005b3480156102cc57600080fd5b5061012d5461021d906001600160a01b031681565b3480156102ed57600080fd5b506102be6102fc366004612ab0565b6105c7565b34801561030d57600080fd5b506102be61031c366004612adc565b61064a565b34801561032d57600080fd5b5061012e5461021d906001600160a01b031681565b6102be610350366004612b0d565b610729565b34801561036157600080fd5b5061024b6107f5565b34801561037657600080fd5b5061024b60fe5481565b34801561038c57600080fd5b5061024b7fd67ad422505496469a1adf6cdf9e5ee92ac5d33992843c9ecc4b2f6d6cde913781565b3480156103c057600080fd5b5060fb5461021d906001600160a01b031681565b3480156103e057600080fd5b506102be6103ef366004612bcf565b6108a8565b34801561040057600080fd5b5061024b6000805160206130f883398151915281565b34801561042257600080fd5b506102be610b4f565b34801561043757600080fd5b506101e7610446366004612ab0565b610c19565b34801561045757600080fd5b506101305461021d906001600160a01b031681565b34801561047857600080fd5b5061024b600081565b34801561048d57600080fd5b506102be61049c366004612adc565b610c44565b3480156104ad57600080fd5b506102be6104bc366004612be7565b610d73565b3480156104cd57600080fd5b506102be6104dc366004612c11565b610f76565b3480156104ed57600080fd5b5061024b60fc5481565b34801561050357600080fd5b506102be610512366004612ab0565b6110dc565b34801561052357600080fd5b5061024b610532366004612adc565b611101565b34801561054357600080fd5b5061024b610552366004612c4b565b611186565b60006001600160e01b03198216637965db0b60e01b148061058857506301ffc9a760e01b6001600160e01b03198316145b92915050565b6000610598611447565b905090565b6000828152606560205260409020600101546105b8816115c2565b6105c283836115cc565b505050565b6001600160a01b038116331461063c5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084015b60405180910390fd5b6106468282611652565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036106925760405162461bcd60e51b815260040161063390612c9a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166106db600080516020613118833981519152546001600160a01b031690565b6001600160a01b0316146107015760405162461bcd60e51b815260040161063390612ce6565b61070a816116b9565b60408051600080825260208201909252610726918391906116c4565b50565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036107715760405162461bcd60e51b815260040161063390612c9a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166107ba600080516020613118833981519152546001600160a01b031690565b6001600160a01b0316146107e05760405162461bcd60e51b815260040161063390612ce6565b6107e9826116b9565b610646828260016116c4565b6000306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146108955760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610633565b5060008051602061311883398151915290565b6108b3600033610c19565b6108f65760405162461bcd60e51b81526020600482015260146024820152735265737472696374656420746f2061646d696e7360601b6044820152606401610633565b60006109056020830183612adc565b6001600160a01b03160361094b5760405162461bcd60e51b815260206004820152600d60248201526c7573647420697320656d70747960981b6044820152606401610633565b600061095d6040830160208401612adc565b6001600160a01b0316036109a45760405162461bcd60e51b815260206004820152600e60248201526d695573647420697320656d70747960901b6044820152606401610633565b60006109b66060830160408401612adc565b6001600160a01b031603610a0c5760405162461bcd60e51b815260206004820181905260248201527f64466f7263655265776172644469737472696275746f7220697320656d7074796044820152606401610633565b6000610a1e6080830160608401612adc565b6001600160a01b031603610a625760405162461bcd60e51b815260206004820152600b60248201526a646620697320656d70747960a81b6044820152606401610633565b610a6f6020820182612adc565b61012d80546001600160a01b0319166001600160a01b0392909216919091179055610aa06040820160208301612adc565b61012e80546001600160a01b0319166001600160a01b0392909216919091179055610ad16060820160408301612adc565b61012f80546001600160a01b0319166001600160a01b0392909216919091179055610b026080820160608301612adc565b61013080546001600160a01b0319166001600160a01b03929092169190911790556040517fea5646eb3528e525944447a4a97de700dd472298626e5c0481d1c82c3da86ea590600090a150565b600054610100900460ff1615808015610b6f5750600054600160ff909116105b80610b895750303b158015610b89575060005460ff166001145b610ba55760405162461bcd60e51b815260040161063390612d32565b6000805460ff191660011790558015610bc8576000805461ff0019166101001790555b610bd061182f565b8015610726576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498906020015b60405180910390a150565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b610c4f600033610c19565b610c925760405162461bcd60e51b81526020600482015260146024820152735265737472696374656420746f2061646d696e7360601b6044820152606401610633565b6001600160a01b038116610ce85760405162461bcd60e51b815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152606401610633565b60fb54610d0d906000805160206130f8833981519152906001600160a01b03166110dc565b610d256000805160206130f88339815191528261059d565b60fb80546001600160a01b0319166001600160a01b0383169081179091556040519081527ff7b449fcd5cfb7379dcd34cb69428dd9f882033b15be33d83b42d91daa28eeb790602001610c0e565b610d8b6000805160206130f883398151915233610c19565b610da75760405162461bcd60e51b815260040161063390612d80565b6000610e16306001600160a01b031663a3673b386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0e9190612db7565b60fd54611914565b6040516370a0823160e01b8152306004820152909150610e8c9084906001600160a01b038216906370a0823190602401602060405180830381865afa158015610e63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e879190612db7565b61193e565b80306001600160a01b031663a3673b386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ecb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610eef9190612db7565b1015610f3d5760405162461bcd60e51b815260206004820152601f60248201527f5374726174656779204e4156206c657373207468616e206578706563746564006044820152606401610633565b6040518281527f227a473b70d2f893cc7659219575c030a63b5743024fe1e0c1a680e708b1525a906020015b60405180910390a1505050565b610fa07fd67ad422505496469a1adf6cdf9e5ee92ac5d33992843c9ecc4b2f6d6cde913733610c19565b80611038575060fb54604051632474521560e21b81527fd67ad422505496469a1adf6cdf9e5ee92ac5d33992843c9ecc4b2f6d6cde913760048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa158015611014573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110389190612dd0565b61108f5760405162461bcd60e51b815260206004820152602260248201527f5265737472696374656420746f20504f5254464f4c494f5f4147454e545f524f6044820152614c4560f01b6064820152608401610633565b60fc83905560fd82905560fe81905560408051848152602081018490529081018290527f116fbf1e97a2be629ad98abfb6c332733c8996c2dfb174dd2efe8440df381d1a90606001610f69565b6000828152606560205260409020600101546110f7816115c2565b6105c28383611652565b600061111b6000805160206130f883398151915233610c19565b6111375760405162461bcd60e51b815260040161063390612d80565b600061114283611a94565b9050801561117e576040518181527f3ac0594a85a20354f9dc74f33728416d19ce00d04a406c108cc2dcf2cecea1349060200160405180910390a15b90505b919050565b60006111a06000805160206130f883398151915233610c19565b6111bc5760405162461bcd60e51b815260040161063390612d80565b60006111ff306001600160a01b031663a3673b386040518163ffffffff1660e01b8152600401602060405180830381865afa158015610dea573d6000803e3d6000fd5b905060008084156112265761121386611a94565b905061121f88876120f5565b9150611295565b611231888888612239565b9150868210156112955760405162461bcd60e51b815260206004820152602960248201527f52657475726e65642076616c7565206c657373207468616e2072657175657374604482015268195908185b5bdd5b9d60ba1b6064820152608401610633565b82306001600160a01b031663a3673b386040518163ffffffff1660e01b8152600401602060405180830381865afa1580156112d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112f89190612db7565b10156113465760405162461bcd60e51b815260206004820152601f60248201527f5374726174656779204e4156206c657373207468616e206578706563746564006044820152606401610633565b60405163a9059cbb60e01b81526001600160a01b0387811660048301526024820184905289169063a9059cbb906044016020604051808303816000875af1158015611395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b99190612dd0565b5060408051888152602081018490527f9045c2ac9b2026de8075f2701bbdde882cd5e830b3b1ead9a15b22f2b5b93742910160405180910390a1801561142d576040518181527f3ac0594a85a20354f9dc74f33728416d19ce00d04a406c108cc2dcf2cecea1349060200160405180910390a15b509695505050505050565b6001600160a01b03163b151590565b6000670de0b6b3a764000061012e60009054906101000a90046001600160a01b03166001600160a01b031663182df0f56040518163ffffffff1660e01b8152600401602060405180830381865afa1580156114a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ca9190612db7565b61012e546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611513573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115379190612db7565b6115419190612e03565b61154b9190612e1a565b61012d546040516370a0823160e01b81523060048201526001600160a01b03909116906370a0823190602401602060405180830381865afa158015611594573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b89190612db7565b6105989190612e3c565b6107268133612314565b6115d68282610c19565b6106465760008281526065602090815260408083206001600160a01b03851684529091529020805460ff1916600117905561160e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b61165c8282610c19565b156106465760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6000610646816115c2565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff16156116f7576105c28361236d565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611751575060408051601f3d908101601f1916820190925261174e91810190612db7565b60015b6117b45760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610633565b60008051602061311883398151915281146118235760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610633565b506105c2838383612409565b600054610100900460ff161580801561184f5750600054600160ff909116105b806118695750303b158015611869575060005460ff166001145b6118855760405162461bcd60e51b815260040161063390612d32565b6000805460ff1916600117905580156118a8576000805461ff0019166101001790555b6118b0612434565b6118b8612434565b6118c36000336115cc565b601460fc81905560fd55600460fe558015610726576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001610c0e565b60006127106119238382612e4f565b61192d9085612e03565b6119379190612e1a565b9392505050565b61012d546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015611988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ac9190612db7565b61012d5461012e5460405163095ea7b360e01b81526001600160a01b03918216600482015260248101849052929350169063095ea7b3906044016020604051808303816000875af1158015611a05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a299190612dd0565b5061012e546040516340c10f1960e01b8152306004820152602481018390526001600160a01b03909116906340c10f1990604401600060405180830381600087803b158015611a7757600080fd5b505af1158015611a8b573d6000803e3d6000fd5b50505050505050565b61012e546040516370a0823160e01b815230600482015260009182916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b069190612db7565b1115611c1d57604080516001808252818301909252600091602080830190803683370190505090503081600081518110611b4257611b42612e62565b6001600160a01b039290921660209283029190910190910152604080516001808252818301909252600091816020016020820280368337505061012e5482519293506001600160a01b031691839150600090611ba057611ba0612e62565b6001600160a01b03928316602091820292909201015261012f5460405163a82e84e960e01b8152606092919091169063a82e84e990611be790869086908690600401612ebc565b600060405180830381600087803b158015611c0157600080fd5b505af1158015611c15573d6000803e3d6000fd5b505050505050505b610130546040516370a0823160e01b815230600482015260009182916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611c6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c8f9190612db7565b9050801561206e57604080516001808252818301909252600091816020015b6060815260200190600190039081611cae579050509050604051806040016040528060048152602001630307830360e41b81525081600081518110611cf557611cf5612e62565b602090810291909101810191909152604080516101608101825273a867241cdc8d3b0c07c85cc06f25a0cd3b5474d8815273e05dd51e4eb5636f4f0e8e7fbe82ea31a2ecef16818401819052610130546001600160a01b03168284015273641441c631e2f909700d2f41fd87f0aa6a6b4edb606083015260808201869052738ab2d334ce64b50be9ab04184f7ccba2a6bb639160a08301527319e5910f61882ff6605b576922507f1e1a0302fe60c083015260e0820152600061010082018190526101208201859052915191929091610140830191611e1091736c1c420c04f4d563d6588a97693af902b87be5f191662386f26fc1000091016001600160a01b0392909216825266ffffffffffffff16602082015260400190565b60405160208183030381529060405281525090506000611e2f826124a1565b9050801561206a57604080516101608101825273a867241cdc8d3b0c07c85cc06f25a0cd3b5474d8815273e05dd51e4eb5636f4f0e8e7fbe82ea31a2ecef16602080830182905273641441c631e2f909700d2f41fd87f0aa6a6b4edb8385015273ff970a61a04b1ca14834a43f5de4533ebddb5cc860608085019190915260808401869052738ab2d334ce64b50be9ab04184f7ccba2a6bb639160a0850152739340e3296121507318874ce9c04afb4492af028460c085015260e08401929092526000610100840181905261012084018890528451736c1c420c04f4d563d6588a97693af902b87be5f1928101929092529381018490526101408301910160405160208183030381529060405281525090506000611f4c826124a1565b9050801561206757604080516101608101825273a867241cdc8d3b0c07c85cc06f25a0cd3b5474d8815273e05dd51e4eb5636f4f0e8e7fbe82ea31a2ecef16602080830182905273ff970a61a04b1ca14834a43f5de4533ebddb5cc88385015261012d546001600160a01b03166060808501919091526080840186905273d5a7e197bace1f3b26e2760321d6ce06ad07281a60a085015273e4b2dfc82977dd2dce7e8d37895a6a8f50cbb4fb60c085015260e0840192909252600161010084015261012083018990528351736c1c420c04f4d563d6588a97693af902b87be5f1918101919091526000818501528351808203850181529101909252610140810191909152612059816124a1565b6120639089612e3c565b9750505b50505b5050505b81156120ee5761012d5460405163a9059cbb60e01b81526001600160a01b038681166004830152602482018590529091169063a9059cbb906044016020604051808303816000875af11580156120c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906120ec9190612dd0565b505b5092915050565b61012e546040516370a0823160e01b815230600482018190526000926001600160a01b031691631e9a6950919083906370a0823190602401602060405180830381865afa15801561214a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061216e9190612db7565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156121b457600080fd5b505af11580156121c8573d6000803e3d6000fd5b505061012d546040516370a0823160e01b81523060048201526001600160a01b0390911692506370a082319150602401602060405180830381865afa158015612215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119379190612db7565b61012e546040516312c5282f60e31b8152306004820152602481018490526000916001600160a01b031690639629417890604401600060405180830381600087803b15801561228757600080fd5b505af115801561229b573d6000803e3d6000fd5b505061012d546040516370a0823160e01b81523060048201526001600160a01b0390911692506370a082319150602401602060405180830381865afa1580156122e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061230c9190612db7565b949350505050565b61231e8282610c19565b6106465761232b81612744565b612336836020612756565b604051602001612347929190612f23565b60408051601f198184030181529082905262461bcd60e51b825261063391600401612fc4565b6001600160a01b0381163b6123da5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610633565b60008051602061311883398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b612412836128f2565b60008251118061241f5750805b156105c25761242e8383612932565b50505050565b600054610100900460ff1661249f5760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608401610633565b565b60408082015182516080840151925163095ea7b360e01b81526001600160a01b039182166004820152602481019390935260009291169063095ea7b3906044016020604051808303816000875af1158015612500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125249190612dd0565b50604080516001808252818301909252600091602080830190803683370190505090508260a001518160008151811061255f5761255f612e62565b6001600160a01b0392909216602092830291909101909101526040805160018082528183019092526000918160200160208202803683370190505090508360c00151816000815181106125b4576125b4612e62565b6001600160a01b03929092166020928302919091018201526040805160028082526060820183526000939192909183019080368337019050509050846101000151600003612639578460c001518160008151811061261457612614612e62565b60200260200101906001600160a01b031690816001600160a01b031681525050612672565b8460a001518160008151811061265157612651612e62565b60200260200101906001600160a01b031690816001600160a01b0316815250505b8460e001518160018151811061268a5761268a612e62565b6001600160a01b03928316602091820292909201810191909152860151604080880151606089015160808a01516101008b01516101208c01516101408d01519551630180d1b960e51b8152969097169663301a3720966126f8966001938d938d938d93904290600401612fd7565b6020604051808303816000875af1158015612717573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061273b9190612db7565b95945050505050565b60606105886001600160a01b03831660145b60606000612765836002612e03565b612770906002612e3c565b67ffffffffffffffff81111561278857612788612af7565b6040519080825280601f01601f1916602001820160405280156127b2576020820181803683370190505b509050600360fc1b816000815181106127cd576127cd612e62565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106127fc576127fc612e62565b60200101906001600160f81b031916908160001a9053506000612820846002612e03565b61282b906001612e3c565b90505b60018111156128a3576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061285f5761285f612e62565b1a60f81b82828151811061287557612875612e62565b60200101906001600160f81b031916908160001a90535060049490941c9361289c816130c4565b905061282e565b5083156119375760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610633565b6128fb8161236d565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b61299a5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610633565b600080846001600160a01b0316846040516129b591906130db565b600060405180830381855af49150503d80600081146129f0576040519150601f19603f3d011682016040523d82523d6000602084013e6129f5565b606091505b509150915061273b82826040518060600160405280602781526020016131386027913960608315612a27575081611937565b6119378383815115612a3c5781518083602001fd5b8060405162461bcd60e51b81526004016106339190612fc4565b600060208284031215612a6857600080fd5b81356001600160e01b03198116811461193757600080fd5b600060208284031215612a9257600080fd5b5035919050565b80356001600160a01b038116811461118157600080fd5b60008060408385031215612ac357600080fd5b82359150612ad360208401612a99565b90509250929050565b600060208284031215612aee57600080fd5b61193782612a99565b634e487b7160e01b600052604160045260246000fd5b60008060408385031215612b2057600080fd5b612b2983612a99565b9150602083013567ffffffffffffffff80821115612b4657600080fd5b818501915085601f830112612b5a57600080fd5b813581811115612b6c57612b6c612af7565b604051601f8201601f19908116603f01168101908382118183101715612b9457612b94612af7565b81604052828152886020848701011115612bad57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b600060808284031215612be157600080fd5b50919050565b60008060408385031215612bfa57600080fd5b612c0383612a99565b946020939093013593505050565b600080600060608486031215612c2657600080fd5b505081359360208301359350604090920135919050565b801515811461072657600080fd5b60008060008060808587031215612c6157600080fd5b612c6a85612a99565b935060208501359250612c7f60408601612a99565b91506060850135612c8f81612c3d565b939692955090935050565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6020808252602e908201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160408201526d191e481a5b9a5d1a585b1a5e995960921b606082015260800190565b6020808252601f908201527f5265737472696374656420746f20504f5254464f4c494f5f4d414e4147455200604082015260600190565b600060208284031215612dc957600080fd5b5051919050565b600060208284031215612de257600080fd5b815161193781612c3d565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761058857610588612ded565b600082612e3757634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561058857610588612ded565b8181038181111561058857610588612ded565b634e487b7160e01b600052603260045260246000fd5b600081518084526020808501945080840160005b83811015612eb15781516001600160a01b031687529582019590820190600101612e8c565b509495945050505050565b606081526000612ecf6060830186612e78565b8281036020840152612ee18186612e78565b90508281036040840152612ef58185612e78565b9695505050505050565b60005b83811015612f1a578181015183820152602001612f02565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612f5b816017850160208801612eff565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351612f8c816028840160208801612eff565b01602801949350505050565b60008151808452612fb0816020860160208601612eff565b601f01601f19169290920160200192915050565b6020815260006119376020830184612f98565b600061016060018060a01b03808f1684526020818f16818601528d60408601528c606086015282608086015261300f8386018d612e78565b925084830360a0860152613023838c612e78565b925084830360c0860152613037838b612e78565b92508860e086015284830361010086015282915087518084528184019250818160051b850101828a0160005b8381101561309157601f1987840301865261307f838351612f98565b95850195925090840190600101613063565b50508681036101208801526130a6818a612f98565b95505050505050826101408301529c9b505050505050505050505050565b6000816130d3576130d3612ded565b506000190190565b600082516130ed818460208701612eff565b919091019291505056fe90c2aa7471c04182221f68e80c07ab1e5946e4c63f8693e14ca40385d529f051360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a264697066735822122062fcab42550893b139428187b0c88d8d76d6e9255c21afdd6c2edc2c82b3486664736f6c63430008110033