diff --git a/out/VaultImplementation.sol/VaultImplementation.json b/out/VaultImplementation.sol/VaultImplementation.json index 60300b9..104c2cc 100644 --- a/out/VaultImplementation.sol/VaultImplementation.json +++ b/out/VaultImplementation.sol/VaultImplementation.json @@ -1,3561 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "delegatorFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "slasherFactory", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DELEGATOR_FACTORY", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_BASE", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RETURN_VALUE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "SLASHER_FACTORY", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeBalanceOf", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeBalanceOfAt", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "timestamp", "type": "uint48", "internalType": "uint48" }, - { "name": "hints", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeShares", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeSharesAt", - "inputs": [ - { "name": "timestamp", "type": "uint48", "internalType": "uint48" }, - { "name": "hint", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeSharesOf", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeSharesOfAt", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "timestamp", "type": "uint48", "internalType": "uint48" }, - { "name": "hint", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeStake", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "activeStakeAt", - "inputs": [ - { "name": "timestamp", "type": "uint48", "internalType": "uint48" }, - { "name": "hint", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burner", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "claim", - "inputs": [ - { "name": "recipient", "type": "address", "internalType": "address" }, - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "claimBatch", - "inputs": [ - { "name": "recipient", "type": "address", "internalType": "address" }, - { "name": "epochs", "type": "uint256[]", "internalType": "uint256[]" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "collateral", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "currentEpoch", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "currentEpochStart", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "delegator", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { "name": "onBehalfOf", "type": "address", "internalType": "address" }, - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "depositedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "depositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositWhitelist", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "epochAt", - "inputs": [ - { "name": "timestamp", "type": "uint48", "internalType": "uint48" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "epochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "epochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "epochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "epochStart", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFee", - "inputs": [ - { "name": "token", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeRate", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeReceiver", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoan", - "inputs": [ - { - "name": "receiver", - "type": "address", - "internalType": "contract IERC3156FlashBorrower" - }, - { "name": "token", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "flashLoanEnabled", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" } - ], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDelegatorInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositorWhitelisted", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isSlasherInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isWithdrawalsClaimed", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "maxFlashLoan", - "inputs": [ - { "name": "token", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nextEpochStart", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "onSlash", - "inputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" }, - { - "name": "captureTimestamp", - "type": "uint48", - "internalType": "uint48" - } - ], - "outputs": [ - { - "name": "slashedAmount", - "type": "uint256", - "internalType": "uint256" - } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "previousEpochStart", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { "name": "claimer", "type": "address", "internalType": "address" }, - { "name": "shares", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "withdrawnAssets", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { - "name": "callerConfirmation", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setDelegator", - "inputs": [ - { "name": "delegator_", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setDepositLimit", - "inputs": [ - { "name": "limit", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setDepositWhitelist", - "inputs": [{ "name": "status", "type": "bool", "internalType": "bool" }], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setDepositorWhitelistStatus", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "status", "type": "bool", "internalType": "bool" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setEpochDuration", - "inputs": [ - { - "name": "epochDuration_", - "type": "uint48", - "internalType": "uint48" - }, - { - "name": "epochDurationSetEpochsDelay_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFlashFeeRate", - "inputs": [ - { - "name": "flashFeeRate_", - "type": "uint256", - "internalType": "uint256" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFlashFeeReceiver", - "inputs": [ - { - "name": "flashFeeReceiver_", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setFlashloanEnabled", - "inputs": [{ "name": "status", "type": "bool", "internalType": "bool" }], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setIsDepositLimit", - "inputs": [{ "name": "status", "type": "bool", "internalType": "bool" }], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "setSlasher", - "inputs": [ - { "name": "slasher_", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "slashableBalanceOf", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "slasher", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "staticDelegateCall", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalStake", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { "name": "claimer", "type": "address", "internalType": "address" }, - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "burnedShares", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawalShares", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalSharesOf", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawals", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalsOf", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Claim", - "inputs": [ - { - "name": "claimer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "epoch", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "ClaimBatch", - "inputs": [ - { - "name": "claimer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "recipient", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "epochs", - "type": "uint256[]", - "indexed": false, - "internalType": "uint256[]" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Deposit", - "inputs": [ - { - "name": "depositor", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "onBehalfOf", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "shares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OnSlash", - "inputs": [ - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "captureTimestamp", - "type": "uint48", - "indexed": false, - "internalType": "uint48" - }, - { - "name": "slashedAmount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetDelegator", - "inputs": [ - { - "name": "delegator", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetDepositLimit", - "inputs": [ - { - "name": "limit", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetDepositWhitelist", - "inputs": [ - { - "name": "status", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetDepositorWhitelistStatus", - "inputs": [ - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "status", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetEpochDuration", - "inputs": [ - { - "name": "epochDuration", - "type": "uint48", - "indexed": false, - "internalType": "uint48" - }, - { - "name": "epochDurationSetEpochsDelay", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetFlashFeeRate", - "inputs": [ - { - "name": "flashFeeRate", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetFlashFeeReceiver", - "inputs": [ - { - "name": "flashFeeReceiver", - "type": "address", - "indexed": false, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetFlashloanEnabled", - "inputs": [ - { - "name": "status", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetIsDepositLimit", - "inputs": [ - { - "name": "status", - "type": "bool", - "indexed": false, - "internalType": "bool" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "SetSlasher", - "inputs": [ - { - "name": "slasher", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Withdraw", - "inputs": [ - { - "name": "withdrawer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "claimer", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "amount", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "burnedShares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "mintedShares", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { "type": "error", "name": "AccessControlBadConfirmation", "inputs": [] }, - { - "type": "error", - "name": "AccessControlUnauthorizedAccount", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "neededRole", "type": "bytes32", "internalType": "bytes32" } - ] - }, - { "type": "error", "name": "AlreadyClaimed", "inputs": [] }, - { "type": "error", "name": "AlreadySet", "inputs": [] }, - { "type": "error", "name": "CheckpointUnorderedInsertion", "inputs": [] }, - { "type": "error", "name": "DelegatorAlreadyInitialized", "inputs": [] }, - { "type": "error", "name": "DepositLimitReached", "inputs": [] }, - { "type": "error", "name": "InsufficientClaim", "inputs": [] }, - { "type": "error", "name": "InsufficientDeposit", "inputs": [] }, - { "type": "error", "name": "InsufficientExitWindow", "inputs": [] }, - { "type": "error", "name": "InsufficientRedemption", "inputs": [] }, - { "type": "error", "name": "InsufficientWithdrawal", "inputs": [] }, - { "type": "error", "name": "InvalidAccount", "inputs": [] }, - { "type": "error", "name": "InvalidCaptureEpoch", "inputs": [] }, - { "type": "error", "name": "InvalidClaimer", "inputs": [] }, - { "type": "error", "name": "InvalidCollateral", "inputs": [] }, - { "type": "error", "name": "InvalidDelegator", "inputs": [] }, - { "type": "error", "name": "InvalidEpoch", "inputs": [] }, - { "type": "error", "name": "InvalidEpochDuration", "inputs": [] }, - { - "type": "error", - "name": "InvalidEpochDurationSetEpochsDelay", - "inputs": [] - }, - { "type": "error", "name": "InvalidFlashParams", "inputs": [] }, - { "type": "error", "name": "InvalidInitialization", "inputs": [] }, - { "type": "error", "name": "InvalidLengthEpochs", "inputs": [] }, - { "type": "error", "name": "InvalidNewEpochDuration", "inputs": [] }, - { "type": "error", "name": "InvalidOnBehalfOf", "inputs": [] }, - { "type": "error", "name": "InvalidOrigin", "inputs": [] }, - { "type": "error", "name": "InvalidReceiver", "inputs": [] }, - { "type": "error", "name": "InvalidRecipient", "inputs": [] }, - { "type": "error", "name": "InvalidReturnAmount", "inputs": [] }, - { "type": "error", "name": "InvalidSlasher", "inputs": [] }, - { "type": "error", "name": "InvalidTimestamp", "inputs": [] }, - { "type": "error", "name": "MaxLoanExceeded", "inputs": [] }, - { "type": "error", "name": "MissingRoles", "inputs": [] }, - { "type": "error", "name": "NewEpochDurationNotReady", "inputs": [] }, - { "type": "error", "name": "NoDepositWhitelist", "inputs": [] }, - { "type": "error", "name": "NoPreviousEpoch", "inputs": [] }, - { "type": "error", "name": "NotDelegator", "inputs": [] }, - { "type": "error", "name": "NotInitializing", "inputs": [] }, - { "type": "error", "name": "NotSlasher", "inputs": [] }, - { "type": "error", "name": "NotWhitelistedDepositor", "inputs": [] }, - { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, - { - "type": "error", - "name": "SafeCastOverflowedUintDowncast", - "inputs": [ - { "name": "bits", "type": "uint8", "internalType": "uint8" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ] - }, - { - "type": "error", - "name": "SafeERC20FailedOperation", - "inputs": [ - { "name": "token", "type": "address", "internalType": "address" } - ] - }, - { "type": "error", "name": "SlasherAlreadyInitialized", "inputs": [] }, - { "type": "error", "name": "TooLowFlashLoanValue", "inputs": [] }, - { "type": "error", "name": "TooMuchRedeem", "inputs": [] }, - { "type": "error", "name": "TooMuchWithdraw", "inputs": [] }, - { "type": "error", "name": "UnsupportedToken", "inputs": [] } - ], - "bytecode": { - "object": "0x60c034608157601f614dc238819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614d1590816100ad8239608051818181611494015261195a015260a051818181611e0901526123880152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105945780631415519b1461058f5780631b66c9e11461058a5780631e9a695014610585578063248a9ca3146105805780632749f9c41461057b57806327810b6e14610576578063281f5752146105715780632d73c69c1461056c5780632f2ff15d146105675780632fa27fae1461056257806331d9736c1461055d57806336568abe14610558578063392e53cd146105535780634105a7dd1461054e578063463616711461054957806347e7ef241461054457806348d3b7751461053f5780634ff0876a1461053a57806350861adc1461053557806350f220681461053057806352741a401461052b5780635346e34f1461052657806359f769a9146105215780635a36aa741461051c5780635cc07076146105175780635cffe9de14610512578063613255ab1461050d57806361819dd81461050857806361a8c8c414610503578063653b04cd146104fe57806365d61c6c146104f95780636da3e06d146104f45780636e0f2455146104ef5780636ec1e3f8146104ea5780637278e31c146104e557806373790ab3146104e057806376671808146104db578063794b15b7146104d65780637953b33b146104d15780637c04c80a146104cc578063810da75d146104c757806383cd9cc3146104c257806383f46c2c146104bd578063859b9344146104b857806387df0788146104b35780638b0e9f3f146104ae57806391d14854146104a957806398ccba4a146104a45780639b4bae3e1461049f5780639d66201b1461049a5780639f86fd85146104955780639f9962dd14610490578063a1b122021461048b578063a217fddf14610486578063a21a1df914610481578063a28614661461047c578063a3b5417214610477578063a5d0322314610472578063a66b3a731461046d578063a8b24f9a14610468578063aa9354a314610463578063aabc24961461045e578063aad3ec9614610459578063afba70ad14610454578063b13442711461044f578063bba6ff4a1461044a578063bc46f72214610445578063bd49c35f14610440578063bdc8144b1461043b578063bfefcd7b14610436578063c1bc6f5114610431578063c31e8dd71461042c578063c4db46fc14610427578063c642b05014610422578063cc52aee71461041d578063ce9b793014610418578063d547741f14610413578063d626811b1461040e578063d8dfeb4514610409578063d9d98ce414610404578063db388715146103ff578063e945da7f146103fa578063ecc98f05146103f5578063ecf70858146103f0578063efb559d6146103eb578063f3fef3a3146103e65763f5e7ee0f146103e1575f80fd5b612bde565b612b38565b6129ed565b6129d0565b6129b2565b612995565b61295b565b612930565b612905565b612845565b6127f9565b6127d1565b6127a9565b61278f565b612772565b612704565b6126dc565b6126c2565b612602565b6125e8565b6125ae565b612591565b612569565b61253f565b61247e565b6122d5565b6122b7565b61228f565b612255565b61220f565b6121c2565b6120dd565b6120a3565b612089565b612065565b61203d565b611f70565b611f36565b611f19565b611efc565b611e9e565b611e38565b611df4565b611d68565b611aa0565b6118f5565b6118dc565b611876565b611858565b611818565b6117fa565b6117c8565b61150d565b6114e8565b6114c3565b61147f565b61145a565b611420565b6113fa565b6113c0565b611399565b61112f565b6110d8565b6110b0565b611089565b611002565b610f01565b610ee8565b610e82565b610e68565b610e47565b610b97565b610b7d565b610ae2565b610a9d565b610a52565b610a18565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b610787565b61074e565b610673565b610628565b6105ee565b346105ea5760203660031901126105ea5760043563ffffffff60e01b81168091036105ea57602090637965db0b60e01b81149081156105d9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ce565b5f80fd5b346105ea575f3660031901126105ea5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ea575f3660031901126105ea5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ea57565b346105ea5760403660031901126105ea5760043561069081610662565b6024359061069c61328a565b6001600160a01b0381161561073d57335f908152600e602052604090206106c7906140cc565b6140cc565b821161072b576106e76106d8613fe4565b6106e0614058565b908461411f565b91821561071657826106f8926132cc565b906107016132b9565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ea5760203660031901126105ea576004355f525f80516020614ca08339815191526020526020600160405f200154604051908152f35b346105ea575f3660031901126105ea576020601454604051908152f35b346105ea575f3660031901126105ea576001546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576107ed6107e842613fb2565b612e70565b801561081e575f198101908111610819576108096020916130b8565b65ffffffffffff60405191168152f35b612c08565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ea57565b6004359065ffffffffffff821682036105ea57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ea5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ea57815f926020809301838601378301015290565b346105ea5760603660031901126105ea5760043561095781610662565b61095f610830565b90604435906001600160401b0382116105ea576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613606565b604051908152f35b346105ea5760403660031901126105ea576109f66024356004356109cd82610662565b805f525f80516020614ca08339815191526020526109f1600160405f20015461388b565b6138b7565b005b346105ea575f3660031901126105ea57602060015460d01c604051908152f35b346105ea575f3660031901126105ea5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ea5760403660031901126105ea57602435610a6f81610662565b336001600160a01b03821603610a8b576109f690600435613952565b60405163334bd91960e11b8152600490fd5b346105ea575f3660031901126105ea5760ff60025460a01c1680610ac9575b6020906040519015158152f35b5060035460a01c60ff16610abc565b801515036105ea57565b346105ea5760203660031901126105ea57600435610aff81610ad8565b610b0761328a565b610b0f6136d2565b5f54901515908160ff8216151514610b6b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614cc083398151915255005b60405163a741a04560e01b8152600490fd5b346105ea575f3660031901126105ea576020610809612c58565b346105ea576040806003193601126105ea576004803591610bb783610662565b610bbf61328a565b6001600160a01b0391838316908115610e39575f5460ff811680610e20575b610e115783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610de9575f93610dee575b50610c339060243590309033906139e4565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610de957610c72935f92610dbc575b5050612c2a565b938415610dad5760081c60ff1680610d98575b610d8a57509061071291610d36610c9a613fe4565b95610ce3610ca6614058565b610cce610cb48a838b61411f565b99610cc88a610cc242613fb2565b92612cc0565b90613b38565b5050610cdd89610cc242613fb2565b90613c18565b50506001600160a01b0381165f908152600e6020526040902090610d3088610d2b6106c2610d1042613fb2565b6001600160a01b039095165f908152600e6020526040902090565b612cc0565b91613cf4565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d746132b9565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610da584610d2b613fe4565b815410610c85565b50825163070f6eed60e11b8152fd5b610ddb9250803d10610de2575b610dd381836108a9565b810190612c98565b5f80610c6b565b503d610dc9565b612ca7565b610c33919350610e0a90853d8711610de257610dd381836108a9565b9290610c21565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bde565b8251630d534ce360e11b8152fd5b346105ea575f3660031901126105ea57602060ff5f54166040519015158152f35b346105ea575f3660031901126105ea576020610809612ccd565b346105ea575f3660031901126105ea57602060ff60025460a01c166040519015158152f35b9060406003198301126105ea5760043565ffffffffffff811681036105ea5791602435906001600160401b0382116105ea57610ee5916004016108f4565b90565b346105ea5760206109a2610efb36610ea7565b9061347b565b346105ea5760203660031901126105ea57600435610f1e81610662565b610f2661328a565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fe457506016546001600160a01b039182169181168214610b6b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614cc083398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ea5760203660031901126105ea5760043561101f81610ad8565b61102761328a565b61102f61372f565b5f54901515908160ff8260081c16151514610b6b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f66132b9565b346105ea5760203660031901126105ea5760206109a26004356110ab81610662565b612d13565b346105ea575f3660031901126105ea57602065ffffffffffff60135460301c16604051908152f35b346105ea5760203660031901126105ea576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ea578235916001600160401b0383116105ea57602083818601950101116105ea57565b346105ea5760803660031901126105ea57600480359061114e82610662565b60243561115a81610662565b604435916064356001600160401b0381116105ea5761117c9036908301611102565b61118794919461328a565b81156113885761119684612dac565b82116113775761120a906111aa83866131d0565b5f549095906111cc9060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610de9578c968f8f95978c988f955f9d611342575b509161123e8961125995935f98979516809a613db2565b516323e30c8b60e01b8152998a988997889633908801612d62565b03925af18015610de9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611325575b500361131557875190815230858201908152909383918591908290819060200103915afa8015610de95785936112c9935f92610dbc575050612c2a565b036113075750806112e8575b826112de6132b9565b5160018152602090f35b60165461130092906001600160a01b03165b90613db2565b5f806112d5565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b61133c9150853d8711610de257610dd381836108a9565b5f61128c565b5f969593919d5089611259959361136861123e938e803d10610de257610dd381836108a9565b9f939597985093955050611227565b60405163347177ad60e21b81528390fd5b6040516391ba94bf60e01b81528390fd5b346105ea5760203660031901126105ea5760206109a26004356113bb81610662565b612dac565b346105ea575f3660031901126105ea5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ea575f3660031901126105ea57602061080961141b6107e842613fb2565b6130b8565b346105ea575f3660031901126105ea5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ea575f3660031901126105ea57602060ff60165460a01c166040519015158152f35b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57602065ffffffffffff60135416604051908152f35b346105ea575f3660031901126105ea57602060ff60035460a01c166040519015158152f35b346105ea5760403660031901126105ea57600435611529610830565b61153161328a565b600354611546906001600160a01b03166111c0565b33036117b6576115586107e842613fb2565b9061156281612e70565b90821515806117a5575b801561179c575b61178a57610712937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115a5613fe4565b946115c06115b282612cb2565b5f52600660205260405f2090565b54908281036116a457506115d48187612cc0565b83811881851002811896878061165d575b50505050505b8361162a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161161a6132b9565b6040519081529081906020820190565b5f546116589085906116479060101c6001600160a01b03166111c0565b6001546001600160a01b03166112fa565b6115f1565b61169993610c6b83610cc861168361167c6115b2986116939888613e89565b8096612c2a565b9461168d42613fb2565b92612c2a565b92612cb2565b555f808080876115e5565b91506116b8825f52600660205260405f2090565b54906116c881610d2b848a612cc0565b9084821882861002821897886116e3575b50505050506115eb565b611758938361170b936117188c611713611701611749998884613e89565b9788958584613e89565b948592612c2a565b612c2a565b93848410611763575b610c6b90610cc861173795969761168d42613fb2565b6117436115b287612cb2565b55612c2a565b915f52600660205260405f2090565b555f808080806116d9565b9161177f610c6b91611779866117379798612c2a565b90612cc0565b859450929050611721565b604051635e18d2a560e01b8152600490fd5b50828211611573565b506117af83612c1c565b821061156c565b60405163dabc4ad960e01b8152600490fd5b346105ea575f3660031901126105ea576117e46107e842613fb2565b60018101809111610819576108096020916130b8565b346105ea575f3660031901126105ea5760206109a26107e842613fb2565b346105ea5760203660031901126105ea5760043561183581610662565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ea5760203660031901126105ea5760206109a26107e8610845565b346105ea5760403660031901126105ea5760043561189381610662565b6024356001600160401b038082116105ea57366023830112156105ea5781600401359081116105ea573660248260051b840101116105ea5761071292602461161a930190612f5b565b346105ea5760206109a26118ef36610ea7565b90613551565b346105ea576020806003193601126105ea57600480359061191582610662565b61191d61328a565b60025460a01c60ff16611a91576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f91611a64575b5015611a545760405163fbfa77cf60e01b8152838516949082818581895afa928315610de9575f93611a25575b505030911603611a165750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f66132b9565b60405163b9f0f17160e01b8152fd5b611a45929350803d10611a4d575b611a3d81836108a9565b810190613090565b905f806119b7565b503d611a33565b506040516324e5af8d60e21b8152fd5b611a849150823d8411611a8a575b611a7c81836108a9565b81019061307b565b5f61198a565b503d611a72565b604051631380833b60e01b8152fd5b346105ea5760403660031901126105ea57611ab9610845565b602435611ac461328a565b611acc613786565b60038110611d565765ffffffffffff9182611af260135465ffffffffffff9060601c1690565b168015159081611d40575b50611c42575b60015460d01c838083169116818111611c30571480611c25575b610b6b57611bfa611bd1611bcc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b6c611b67611b5e6107e842613fb2565b600f5490612cc0565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b9e61141b6107e842613fb2565b90611bc5600f54611bbf611bb460015460d01c90565b65ffffffffffff1690565b906130a5565b9116612cc0565b613fb2565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c0382601055565b6040805165ffffffffffff9290921682526020820192909252a16109f66132b9565b5081600f5414611b1d565b6040516359dcfd5560e11b8152600490fd5b611c4d601154601255565b611c87611c5c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cb39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cbe601454601155565b601354611cf59060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d309060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d3b601054600f55565b611b03565b9050611d4e611bb442613fb2565b10155f611afd565b6040516317a509b960e31b8152600490fd5b346105ea5760203660031901126105ea57600435611d8581610ad8565b611d8d61328a565b611d956137dd565b601654901515908160ff8260a01c16151514610b6b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a16109f66132b9565b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57611e546107e842613fb2565b611e5c613fe4565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ea5760403660031901126105ea57602060ff611ef0602435611ec281610662565b6004355f525f80516020614ca0833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ea575f3660031901126105ea576020601254604051908152f35b346105ea575f3660031901126105ea576020601154604051908152f35b346105ea5760203660031901126105ea57600435611f5381610662565b60018060a01b03165f52600e60205260206109a260405f206140cc565b346105ea576040806003193601126105ea57600435611f8e81610662565b6024356001600160401b0381116105ea575f8061202c93611fb56080943690600401611102565b908188519283928337810184815203915af43d156120345760203d611fd9816108d9565b90611fe6875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611fef565b346105ea575f3660031901126105ea57602065ffffffffffff60015460a01c16604051908152f35b346105ea575f3660031901126105ea57602060ff5f5460081c166040519015158152f35b346105ea575f3660031901126105ea5760206040515f8152f35b346105ea575f3660031901126105ea5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ea5760403660031901126105ea576004356120fa81610662565b60243561210681610ad8565b61210e61328a565b612116613834565b6001600160a01b0382169182156121b0575f8381526005602052604090205460ff16151582151514610b6b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121a591612193908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f66132b9565b604051630da30f6560e31b8152600490fd5b346105ea5760403660031901126105ea5760206122066024356121e481610662565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ea5760403660031901126105ea57602060ff611ef060243561223381610662565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ea575f3660031901126105ea5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105ea575f3660031901126105ea576016546040516001600160a01b039091168152602090f35b346105ea5760203660031901126105ea5760206108096004356130b8565b346105ea576020806003193601126105ea5760048035906122f582610662565b6122fd61328a565b60035460a01c60ff1661246f576001600160a01b0382811693908461235d575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f66132b9565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f91612452575b50156124415760405163fbfa77cf60e01b815282818581895afa928315610de9575f93612422575b5050309116036124135750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061231d565b604051633f3e089160e21b8152fd5b612439929350803d10611a4d57611a3d81836108a9565b905f806123e0565b60405163dabc4ad960e01b81528390fd5b6124699150833d8511611a8a57611a7c81836108a9565b5f6123b8565b60405163703fe2e560e01b8152fd5b346105ea5760403660031901126105ea5760043561249b81610662565b602435906124a761328a565b6001600160a01b039181831690811561252d576124d8610712946124ca83613f16565b9485915f5460101c16613db2565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614cc0833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ea5760203660031901126105ea576004355f526007602052602060405f2054604051908152f35b346105ea575f3660031901126105ea576003546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576020600f54604051908152f35b346105ea575f3660031901126105ea5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ea575f3660031901126105ea5760206109a2613fe4565b346105ea5760203660031901126105ea5760043561261e61328a565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fe457508060045414610b6b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614cc083398151915255005b346105ea575f3660031901126105ea5760206109a2614058565b346105ea575f3660031901126105ea57602065ffffffffffff60135460901c16604051908152f35b346105ea5760203660031901126105ea5760043561272181610662565b61272d6107e842613fb2565b61273682612d13565b91612741818361322c565b830180931161081957600182018092116108195761275e9161322c565b810180911161081957602090604051908152f35b346105ea575f3660031901126105ea576020601054604051908152f35b346105ea575f3660031901126105ea5760206109a2613190565b346105ea575f3660031901126105ea57602065ffffffffffff60135460601c16604051908152f35b346105ea575f3660031901126105ea576002546040516001600160a01b039091168152602090f35b346105ea5760403660031901126105ea576109f660243560043561281c82610662565b805f525f80516020614ca0833981519152602052612840600160405f20015461388b565b613952565b346105ea5760203660031901126105ea5760043561286161328a565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fe457508060155414610b6b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614cc083398151915255005b346105ea575f3660031901126105ea575f5460405160109190911c6001600160a01b03168152602090f35b346105ea5760403660031901126105ea5760206109a260043561295281610662565b602435906131d0565b346105ea575f3660031901126105ea5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ea575f3660031901126105ea576020601554604051908152f35b346105ea575f3660031901126105ea576020604051633b9aca008152f35b346105ea575f3660031901126105ea576020600454604051908152f35b346105ea5760603660031901126105ea57600435612a0a81610662565b612a12610830565b6001600160401b0391906044358381116105ea57612a34903690600401611102565b90926040938451612a448161086e565b60608152606060208201526060868201529280612aa3575b61071286612a948787612a8e612a758984845191612c37565b9285612a85602085015183613551565b9301519061347b565b9161411f565b90519081529081906020820190565b81019392506020818503126105ea578035908682116105ea5701926060848203126105ea57845195612ad48761086e565b84358181116105ea5782612ae99187016108f4565b875260208501358181116105ea5782612b039187016108f4565b6020880152858501359081116105ea5761071296612b2c612a8e93612a7593612a9498016108f4565b87820152939450612a5c565b346105ea5760403660031901126105ea57600435612b5581610662565b602435612b6061328a565b6001600160a01b0382161561073d578015612bcc57612b8f612b80614058565b612b88613fe4565b9083614562565b335f908152600e60205260409020909290612ba9906140cc565b8311612bba576106f89183916132cc565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ea5760403660031901126105ea5760206109a2602435612c0081610662565b60043561322c565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610ee5929190613606565b65ffffffffffff8060135460601c169081158015612c85575b612c79575090565b905060015460a01c1690565b508181612c9142613fb2565b1610612c71565b908160209103126105ea575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612cff575b50612cf45760901c1690565b505060015460d01c90565b905082612d0b42613fb2565b16105f612ce8565b6001600160a01b03165f908152600e60205260409020612d32906140cc565b612d3a613fe4565b612d42614058565b9060018101809111610819576001820180921161081957610ee592613e89565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612dbd9060a01c60ff161590565b612e23575f5460101c6001600160a01b0390811691168103612e23576040516370a0823160e01b815230600482015290602090829060249082905afa908115610de9575f91612e0a575090565b610ee5915060203d602011610de257610dd381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612e6b57160490565b612e40565b60015465ffffffffffff808316929160a081901c821680851015612ee85750506013549281841690818015918215612ede575b5050612ecc57610ee59361177992612ec1611bb49360125496612e28565b9160301c1690612e54565b60405163b7d0949760e01b8152600490fd5b109050815f612ea3565b909160135490808260601c1695868015918215612f51575b505015612f2c575050610ee5935061177991612f22611bb49260115495612e28565b9060d01c90612e54565b6117799350611bb49250612f46610ee59660145496612e28565b9160901c1690612e54565b109050865f612f00565b90612f6461328a565b5f926001600160a01b03831692831561252d57811561300e575f5b828110612fec57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612fcf918491612fca9060101c6001600160a01b03166111c0565b613db2565b612fe0604051928392339684613049565b0390a3906108d76132b9565b94613007600191611779613001898789613034565b35613f16565b9501612f7f565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b91908110156130445760051b0190565b613020565b604080825281018390529392916001600160fb1b0381116105ea5760209160609160051b809183880137850101930152565b908160209103126105ea5751610ee581610ad8565b908160209103126105ea5751610ee581610662565b8181029291811591840414171561081957565b60125480821061317e57601154808310156130f95750611bcc90610ee592611bc56130ed6013549365ffffffffffff93612c2a565b828460301c16906130a5565b905060145480158015613175575b1561313f5750610ee59165ffffffffffff61313561312b611bcc9460015494612c2a565b8360d01c906130a5565b9160a01c16612cc0565b611bcc9150610ee59261316b61315f6013549365ffffffffffff93612c2a565b828460901c16906130a5565b9160601c16612cc0565b50808310613107565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c1680159182156131bb575b50506131b55760105490565b600f5490565b9091506131c742613fb2565b16105f806131a9565b5f546001600160a01b039160109190911c82169082160361321a57601654166131f857505f90565b633b9aca0060155461320a8184613e0b565b9209151581018091116108195790565b60405163350b944160e11b8152600490fd5b9061325290825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610ee592613e89565b5f80516020614cc083398151915260028154146132a75760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614cc083398151915255565b335f908152600e60205260409020939291906132e742613fb2565b335f908152600e602052604090206132fe906140cc565b91848303928311610819576133397febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936133c899613cf4565b505061335361334742613fb2565b610cdd87611713614058565b505061336d61336142613fb2565b610cc884611713613fe4565b50506134168161340161338a6133856107e842613fb2565b612cb2565b6133e061339f825f52600660205260405f2090565b546133b2835f52600760205260405f2090565b546133be82828b61411f565b9d8e998a93612cc0565b6133da855f52600660205260405f2090565b55612cc0565b6133f2825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b613421838254612cc0565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ea575163ffffffff811681036105ea5790565b90600163ffffffff8093160191821161081957565b9080511561354757806020806134969351830101910161344a565b61349f81614390565b906134b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461353b57821191826134e6575b50506134dd5750610ee590614140565b60209150015190565b9091506134f4600a54612c1c565b63ffffffff83161491821561350d575b50505f806134cd565b613533919250613527613522611bb492613466565b614390565b5165ffffffffffff1690565b115f80613504565b50505060209150015190565b50610ee590614140565b908051156135fc578060208061356c9351830101910161344a565b6135758161441a565b90613586825165ffffffffffff1690565b9065ffffffffffff808516921682811461353b57821191826135b3575b50506134dd5750610ee590614207565b9091506135c1600c54612c1c565b63ffffffff8316149182156135da575b50505f806135a3565b6135f49192506135276135ef611bb492613466565b61441a565b115f806135d1565b50610ee590614207565b918051156136c857806020806136219351830101910161344a565b9161362c838261449a565b9261363d845165ffffffffffff1690565b9065ffffffffffff80851692168281146136bc5782119182613673575b505061366a57610ee592506142c7565b50506020015190565b9091506136808354612c1c565b63ffffffff831614918215613699575b50505f8061365a565b6136b49192506135276136ae611bb492613466565b8561449a565b115f80613690565b50505050506020015190565b50610ee5916142c7565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fe45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613725565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613725565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff90613725565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613725565b5f8181525f80516020614ca083398151915260209081526040808320338452909152902060ff90613725565b5f8181525f80516020614ca0833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661394b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ca0833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561394b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d792604052614508565b600b5481101561304457600b5f525f80516020614c8083398151915201905f90565b600d5481101561304457600d5f525f80516020614c6083398151915201905f90565b8054821015613044575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d5581101561304457600d5f525f80516020614c608339815191520155565b600b54600160401b811015610889576001810180600b5581101561304457600b5f525f80516020614c808339815191520155565b90815491600160401b8310156108895782613b209160016108d795018155613a80565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613be3575b50613b5061459b565b50929091815492613b5f613fe4565b9481613bce575b5015613bab57505f1982018281116108195781541115613044575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613bbf926001600160d01b03169150614797565b5050613bca83613a95565b9190565b65ffffffffffff83811691161490505f613b66565b600160401b8110156108895760018101808455811015613044575f908382525f80516020614c6083398151915201555f613b47565b919091600b9081548015613cbf575b50613c306145f0565b50929091815492613c3f614058565b9481613caa575b5015613c8b57505f1982018281116108195781541115613044575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613c9f926001600160d01b03169150614867565b5050613bca83613ac9565b65ffffffffffff83811691161490505f613c46565b600160401b8110156108895760018101808455811015613044575f908382525f80516020614c8083398151915201555f613c27565b90929192600182019081548015613d82575b5084613d1184614645565b50949092845493613d21836140cc565b9681613d6d575b5015613d4a575050505f19810190811161081957613b208591613bca93613a80565b613bca949293613d66926001600160d01b039091169190614906565b5050613afd565b65ffffffffffff83811691161490505f613d28565b600160401b81101561088957806001613d9e9201845583613a80565b8154905f199060031b1b191690555f613d06565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d792604052614508565b8115612e6b570490565b90808202905f1981840990828083109203918083039214613e7c57633b9aca009082821115613e6a577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f095784831115613efc5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b821560030260111861467e565b505090610ee59250613e01565b90613f236107e842613fb2565b82101561317e5760ff613f53613f41845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613fa057613f63338361322c565b918215613f8e57613f819061340133915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613fc5571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061401f57505f5b6001600160d01b03811615612e2357600d5481101561304457600d5f525f80516020614c60833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613fef565b600a548061409357505f5b6001600160d01b03811615612e2357600b5481101561304457600b5f525f80516020614c80833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c614063565b80548061410157505f5b6001600160d01b038116156140fb5760016140f19201613a80565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c6140d6565b919060018101809111610819576001820180921161081957610ee592613e89565b600a54905f8291600584116141ae575b61415a9350614aeb565b8061417d57505f5b6001600160d01b03811615612e23576140f1610ee591613a3c565b6141a261418c6141a992612c1c565b600a5f525f80516020614c408339815191520190565b5460301c90565b614162565b91926141b9816149c0565b81039081116108195761415a93600a5f5265ffffffffffff80835f80516020614c40833981519152015416908516105f146141f5575091614150565b92915061420190612cb2565b90614150565b600c54905f82916005841161426e575b6142219350614b54565b8061424457505f5b6001600160d01b03811615612e23576140f1610ee591613a5e565b6141a261425361426992612c1c565b600c5f525f80516020614c208339815191520190565b614229565b9192614279816149c0565b81039081116108195761422193600c5f5265ffffffffffff80835f80516020614c20833981519152015416908516105f146142b5575091614217565b9291506142c190612cb2565b90614217565b908154905f82916005841161432a575b6142e2935084614bbd565b8061430a57505f905b6001600160d01b038216156140fb57610ee59160016140f19201613a80565b6141a261431961432492612c1c565b835f5260205f200190565b906142eb565b9192614335816149c0565b8103908111610819576142e293855f5265ffffffffffff808360205f20015416908516105f146143665750916142d7565b92915061437290612cb2565b906142d7565b604051906143858261088e565b5f6020838281520152565b614398614378565b506143a1614378565b50600a5481101561304457600a5f526020604051916143bf8361088e565b5f80516020614c4083398151915201549165ffffffffffff83169283825260301c9182910152600b5481101561304457600b5f525f80516020614c808339815191520154604051916144108361088e565b8252602082015290565b614422614378565b5061442b614378565b50600c5481101561304457600c5f526020604051916144498361088e565b5f80516020614c2083398151915201549165ffffffffffff83169283825260301c9182910152600d5481101561304457600d5f525f80516020614c608339815191520154604051916144108361088e565b90602060016144be6144ea936144ae614378565b506144b7614378565b5085613a80565b5093604051946144cd8661088e565b549465ffffffffffff86169586825260301c938491015201613a80565b905490604051926144fa8461088e565b835260031b1c602082015290565b905f602091828151910182855af115612ca7575f513d61455957506001600160a01b0381163b155b6145375750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614530565b919060018101809111610819576001820180921161081957614585828285613e89565b928215612e6b5709151581018091116108195790565b600c54806145ac57505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061460157505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806146565750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c5582101561304457600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c2083398151915290910155565b600a5490600160401b821015610889576001820180600a5582101561304457600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c4083398151915290910155565b8054600160401b8110156108895761475991600182018155613a80565b61478457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c54919291801561483e576142536147af91612c1c565b9081549165ffffffffffff9081841691831680831161482c578692036147f4576147ed92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614827906148136148056108ca565b65ffffffffffff9092168252565b6001600160d01b038516602082015261468e565b6147ed565b604051632520601d60e01b8152600490fd5b506148629061484e6148056108ca565b6001600160d01b038416602082015261468e565b5f9190565b600a5491929180156148e25761418c61487f91612c1c565b9081549165ffffffffffff9081841691831680831161482c578692036148bd576147ed92509065ffffffffffff82549181199060301b169116179055565b5050614827906148ce6148056108ca565b6001600160d01b03851660208201526146e5565b50614862906148f26148056108ca565b6001600160d01b03841660208201526146e5565b8054929392801561499b5761491d61492891612c1c565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161482c5787930361496757506147ed92509065ffffffffffff82549181199060301b169116179055565b915050614827916149876149796108ca565b65ffffffffffff9093168352565b6001600160d01b038616602083015261473c565b5090614862916149ac6149796108ca565b6001600160d01b038516602083015261473c565b6001811115610ee557600181600160801b811015614ad9575b614a81614a77614a6d614a63614a59614a4f614a8d97600488600160401b614a889a1015614acc575b640100000000811015614abf575b62010000811015614ab2575b610100811015614aa6575b6010811015614a9a575b1015614a92575b60030260011c614a48818b613e01565b0160011c90565b614a48818a613e01565b614a488189613e01565b614a488188613e01565b614a488187613e01565b614a488186613e01565b8093613e01565b821190565b900390565b60011b614a38565b811c9160021b91614a31565b60081c91811b91614a27565b60101c9160081b91614a1c565b60201c9160101b91614a10565b60401c9160201b91614a02565b50600160401b9050608082901c6149d9565b905b828110614af957505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614c40833981519152015416908616105f14614b41575050915b90614aed565b9093925081018091116108195790614b3b565b905b828110614b6257505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614c20833981519152015416908616105f14614baa575050915b90614b56565b9093925081018091116108195790614ba4565b91905b838210614bcd5750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614c0c575050925b9190614bc0565b9094935081018091116108195791614c0556fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220b46961e5957721742129f004f4342d39f9c9ecd5fbb1450234b8b21aabcec4cf64736f6c63430008190033", - "sourceMap": "1252:21181:130:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21181;;;;;;;;1785:36;1252:21181;;;;;;;;;;1831:32;1252:21181;;;;;;;;;;;;-1:-1:-1;1252:21181:130;;;;;;-1:-1:-1;1252:21181:130;;;;;-1:-1:-1;1252:21181:130;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;:::o", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105945780631415519b1461058f5780631b66c9e11461058a5780631e9a695014610585578063248a9ca3146105805780632749f9c41461057b57806327810b6e14610576578063281f5752146105715780632d73c69c1461056c5780632f2ff15d146105675780632fa27fae1461056257806331d9736c1461055d57806336568abe14610558578063392e53cd146105535780634105a7dd1461054e578063463616711461054957806347e7ef241461054457806348d3b7751461053f5780634ff0876a1461053a57806350861adc1461053557806350f220681461053057806352741a401461052b5780635346e34f1461052657806359f769a9146105215780635a36aa741461051c5780635cc07076146105175780635cffe9de14610512578063613255ab1461050d57806361819dd81461050857806361a8c8c414610503578063653b04cd146104fe57806365d61c6c146104f95780636da3e06d146104f45780636e0f2455146104ef5780636ec1e3f8146104ea5780637278e31c146104e557806373790ab3146104e057806376671808146104db578063794b15b7146104d65780637953b33b146104d15780637c04c80a146104cc578063810da75d146104c757806383cd9cc3146104c257806383f46c2c146104bd578063859b9344146104b857806387df0788146104b35780638b0e9f3f146104ae57806391d14854146104a957806398ccba4a146104a45780639b4bae3e1461049f5780639d66201b1461049a5780639f86fd85146104955780639f9962dd14610490578063a1b122021461048b578063a217fddf14610486578063a21a1df914610481578063a28614661461047c578063a3b5417214610477578063a5d0322314610472578063a66b3a731461046d578063a8b24f9a14610468578063aa9354a314610463578063aabc24961461045e578063aad3ec9614610459578063afba70ad14610454578063b13442711461044f578063bba6ff4a1461044a578063bc46f72214610445578063bd49c35f14610440578063bdc8144b1461043b578063bfefcd7b14610436578063c1bc6f5114610431578063c31e8dd71461042c578063c4db46fc14610427578063c642b05014610422578063cc52aee71461041d578063ce9b793014610418578063d547741f14610413578063d626811b1461040e578063d8dfeb4514610409578063d9d98ce414610404578063db388715146103ff578063e945da7f146103fa578063ecc98f05146103f5578063ecf70858146103f0578063efb559d6146103eb578063f3fef3a3146103e65763f5e7ee0f146103e1575f80fd5b612bde565b612b38565b6129ed565b6129d0565b6129b2565b612995565b61295b565b612930565b612905565b612845565b6127f9565b6127d1565b6127a9565b61278f565b612772565b612704565b6126dc565b6126c2565b612602565b6125e8565b6125ae565b612591565b612569565b61253f565b61247e565b6122d5565b6122b7565b61228f565b612255565b61220f565b6121c2565b6120dd565b6120a3565b612089565b612065565b61203d565b611f70565b611f36565b611f19565b611efc565b611e9e565b611e38565b611df4565b611d68565b611aa0565b6118f5565b6118dc565b611876565b611858565b611818565b6117fa565b6117c8565b61150d565b6114e8565b6114c3565b61147f565b61145a565b611420565b6113fa565b6113c0565b611399565b61112f565b6110d8565b6110b0565b611089565b611002565b610f01565b610ee8565b610e82565b610e68565b610e47565b610b97565b610b7d565b610ae2565b610a9d565b610a52565b610a18565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b610787565b61074e565b610673565b610628565b6105ee565b346105ea5760203660031901126105ea5760043563ffffffff60e01b81168091036105ea57602090637965db0b60e01b81149081156105d9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ce565b5f80fd5b346105ea575f3660031901126105ea5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ea575f3660031901126105ea5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ea57565b346105ea5760403660031901126105ea5760043561069081610662565b6024359061069c61328a565b6001600160a01b0381161561073d57335f908152600e602052604090206106c7906140cc565b6140cc565b821161072b576106e76106d8613fe4565b6106e0614058565b908461411f565b91821561071657826106f8926132cc565b906107016132b9565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ea5760203660031901126105ea576004355f525f80516020614ca08339815191526020526020600160405f200154604051908152f35b346105ea575f3660031901126105ea576020601454604051908152f35b346105ea575f3660031901126105ea576001546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576107ed6107e842613fb2565b612e70565b801561081e575f198101908111610819576108096020916130b8565b65ffffffffffff60405191168152f35b612c08565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ea57565b6004359065ffffffffffff821682036105ea57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ea5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ea57815f926020809301838601378301015290565b346105ea5760603660031901126105ea5760043561095781610662565b61095f610830565b90604435906001600160401b0382116105ea576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e855260409020613606565b604051908152f35b346105ea5760403660031901126105ea576109f66024356004356109cd82610662565b805f525f80516020614ca08339815191526020526109f1600160405f20015461388b565b6138b7565b005b346105ea575f3660031901126105ea57602060015460d01c604051908152f35b346105ea575f3660031901126105ea5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ea5760403660031901126105ea57602435610a6f81610662565b336001600160a01b03821603610a8b576109f690600435613952565b60405163334bd91960e11b8152600490fd5b346105ea575f3660031901126105ea5760ff60025460a01c1680610ac9575b6020906040519015158152f35b5060035460a01c60ff16610abc565b801515036105ea57565b346105ea5760203660031901126105ea57600435610aff81610ad8565b610b0761328a565b610b0f6136d2565b5f54901515908160ff8216151514610b6b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614cc083398151915255005b60405163a741a04560e01b8152600490fd5b346105ea575f3660031901126105ea576020610809612c58565b346105ea576040806003193601126105ea576004803591610bb783610662565b610bbf61328a565b6001600160a01b0391838316908115610e39575f5460ff811680610e20575b610e115783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610de9575f93610dee575b50610c339060243590309033906139e4565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610de957610c72935f92610dbc575b5050612c2a565b938415610dad5760081c60ff1680610d98575b610d8a57509061071291610d36610c9a613fe4565b95610ce3610ca6614058565b610cce610cb48a838b61411f565b99610cc88a610cc242613fb2565b92612cc0565b90613b38565b5050610cdd89610cc242613fb2565b90613c18565b50506001600160a01b0381165f908152600e6020526040902090610d3088610d2b6106c2610d1042613fb2565b6001600160a01b039095165f908152600e6020526040902090565b612cc0565b91613cf4565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d746132b9565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610da584610d2b613fe4565b815410610c85565b50825163070f6eed60e11b8152fd5b610ddb9250803d10610de2575b610dd381836108a9565b810190612c98565b5f80610c6b565b503d610dc9565b612ca7565b610c33919350610e0a90853d8711610de257610dd381836108a9565b9290610c21565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bde565b8251630d534ce360e11b8152fd5b346105ea575f3660031901126105ea57602060ff5f54166040519015158152f35b346105ea575f3660031901126105ea576020610809612ccd565b346105ea575f3660031901126105ea57602060ff60025460a01c166040519015158152f35b9060406003198301126105ea5760043565ffffffffffff811681036105ea5791602435906001600160401b0382116105ea57610ee5916004016108f4565b90565b346105ea5760206109a2610efb36610ea7565b9061347b565b346105ea5760203660031901126105ea57600435610f1e81610662565b610f2661328a565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fe457506016546001600160a01b039182169181168214610b6b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614cc083398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ea5760203660031901126105ea5760043561101f81610ad8565b61102761328a565b61102f61372f565b5f54901515908160ff8260081c16151514610b6b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f66132b9565b346105ea5760203660031901126105ea5760206109a26004356110ab81610662565b612d13565b346105ea575f3660031901126105ea57602065ffffffffffff60135460301c16604051908152f35b346105ea5760203660031901126105ea576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ea578235916001600160401b0383116105ea57602083818601950101116105ea57565b346105ea5760803660031901126105ea57600480359061114e82610662565b60243561115a81610662565b604435916064356001600160401b0381116105ea5761117c9036908301611102565b61118794919461328a565b81156113885761119684612dac565b82116113775761120a906111aa83866131d0565b5f549095906111cc9060101c6001600160a01b03165b6001600160a01b031690565b604080516370a0823160e01b80825230898301908152929b939a6001600160a01b03808d1699602099939792969195909491938a9183918291840190565b03818d5afa978815610de9578c968f8f95978c988f955f9d611342575b509161123e8961125995935f98979516809a613db2565b516323e30c8b60e01b8152998a988997889633908801612d62565b03925af18015610de9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611325575b500361131557875190815230858201908152909383918591908290819060200103915afa8015610de95785936112c9935f92610dbc575050612c2a565b036113075750806112e8575b826112de6132b9565b5160018152602090f35b60165461130092906001600160a01b03165b90613db2565b5f806112d5565b8351637f28d71160e01b8152fd5b8751631e4ec46b60e01b81528590fd5b61133c9150853d8711610de257610dd381836108a9565b5f61128c565b5f969593919d5089611259959361136861123e938e803d10610de257610dd381836108a9565b9f939597985093955050611227565b60405163347177ad60e21b81528390fd5b6040516391ba94bf60e01b81528390fd5b346105ea5760203660031901126105ea5760206109a26004356113bb81610662565b612dac565b346105ea575f3660031901126105ea5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ea575f3660031901126105ea57602061080961141b6107e842613fb2565b6130b8565b346105ea575f3660031901126105ea5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ea575f3660031901126105ea57602060ff60165460a01c166040519015158152f35b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57602065ffffffffffff60135416604051908152f35b346105ea575f3660031901126105ea57602060ff60035460a01c166040519015158152f35b346105ea5760403660031901126105ea57600435611529610830565b61153161328a565b600354611546906001600160a01b03166111c0565b33036117b6576115586107e842613fb2565b9061156281612e70565b90821515806117a5575b801561179c575b61178a57610712937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115a5613fe4565b946115c06115b282612cb2565b5f52600660205260405f2090565b54908281036116a457506115d48187612cc0565b83811881851002811896878061165d575b50505050505b8361162a575b6040805191825265ffffffffffff929092166020820152908101839052606090a161161a6132b9565b6040519081529081906020820190565b5f546116589085906116479060101c6001600160a01b03166111c0565b6001546001600160a01b03166112fa565b6115f1565b61169993610c6b83610cc861168361167c6115b2986116939888613e89565b8096612c2a565b9461168d42613fb2565b92612c2a565b92612cb2565b555f808080876115e5565b91506116b8825f52600660205260405f2090565b54906116c881610d2b848a612cc0565b9084821882861002821897886116e3575b50505050506115eb565b611758938361170b936117188c611713611701611749998884613e89565b9788958584613e89565b948592612c2a565b612c2a565b93848410611763575b610c6b90610cc861173795969761168d42613fb2565b6117436115b287612cb2565b55612c2a565b915f52600660205260405f2090565b555f808080806116d9565b9161177f610c6b91611779866117379798612c2a565b90612cc0565b859450929050611721565b604051635e18d2a560e01b8152600490fd5b50828211611573565b506117af83612c1c565b821061156c565b60405163dabc4ad960e01b8152600490fd5b346105ea575f3660031901126105ea576117e46107e842613fb2565b60018101809111610819576108096020916130b8565b346105ea575f3660031901126105ea5760206109a26107e842613fb2565b346105ea5760203660031901126105ea5760043561183581610662565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ea5760203660031901126105ea5760206109a26107e8610845565b346105ea5760403660031901126105ea5760043561189381610662565b6024356001600160401b038082116105ea57366023830112156105ea5781600401359081116105ea573660248260051b840101116105ea5761071292602461161a930190612f5b565b346105ea5760206109a26118ef36610ea7565b90613551565b346105ea576020806003193601126105ea57600480359061191582610662565b61191d61328a565b60025460a01c60ff16611a91576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f91611a64575b5015611a545760405163fbfa77cf60e01b8152838516949082818581895afa928315610de9575f93611a25575b505030911603611a165750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f66132b9565b60405163b9f0f17160e01b8152fd5b611a45929350803d10611a4d575b611a3d81836108a9565b810190613090565b905f806119b7565b503d611a33565b506040516324e5af8d60e21b8152fd5b611a849150823d8411611a8a575b611a7c81836108a9565b81019061307b565b5f61198a565b503d611a72565b604051631380833b60e01b8152fd5b346105ea5760403660031901126105ea57611ab9610845565b602435611ac461328a565b611acc613786565b60038110611d565765ffffffffffff9182611af260135465ffffffffffff9060601c1690565b168015159081611d40575b50611c42575b60015460d01c838083169116818111611c30571480611c25575b610b6b57611bfa611bd1611bcc7f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611b6c611b67611b5e6107e842613fb2565b600f5490612cc0565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611b9e61141b6107e842613fb2565b90611bc5600f54611bbf611bb460015460d01c90565b65ffffffffffff1690565b906130a5565b9116612cc0565b613fb2565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c0382601055565b6040805165ffffffffffff9290921682526020820192909252a16109f66132b9565b5081600f5414611b1d565b6040516359dcfd5560e11b8152600490fd5b611c4d601154601255565b611c87611c5c60015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cb39060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cbe601454601155565b601354611cf59060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d309060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d3b601054600f55565b611b03565b9050611d4e611bb442613fb2565b10155f611afd565b6040516317a509b960e31b8152600490fd5b346105ea5760203660031901126105ea57600435611d8581610ad8565b611d8d61328a565b611d956137dd565b601654901515908160ff8260a01c16151514610b6b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a16109f66132b9565b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57611e546107e842613fb2565b611e5c613fe4565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ea5760403660031901126105ea57602060ff611ef0602435611ec281610662565b6004355f525f80516020614ca0833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ea575f3660031901126105ea576020601254604051908152f35b346105ea575f3660031901126105ea576020601154604051908152f35b346105ea5760203660031901126105ea57600435611f5381610662565b60018060a01b03165f52600e60205260206109a260405f206140cc565b346105ea576040806003193601126105ea57600435611f8e81610662565b6024356001600160401b0381116105ea575f8061202c93611fb56080943690600401611102565b908188519283928337810184815203915af43d156120345760203d611fd9816108d9565b90611fe6875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060611fef565b346105ea575f3660031901126105ea57602065ffffffffffff60015460a01c16604051908152f35b346105ea575f3660031901126105ea57602060ff5f5460081c166040519015158152f35b346105ea575f3660031901126105ea5760206040515f8152f35b346105ea575f3660031901126105ea5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ea5760403660031901126105ea576004356120fa81610662565b60243561210681610ad8565b61210e61328a565b612116613834565b6001600160a01b0382169182156121b0575f8381526005602052604090205460ff16151582151514610b6b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121a591612193908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f66132b9565b604051630da30f6560e31b8152600490fd5b346105ea5760403660031901126105ea5760206122066024356121e481610662565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ea5760403660031901126105ea57602060ff611ef060243561223381610662565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ea575f3660031901126105ea5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105ea575f3660031901126105ea576016546040516001600160a01b039091168152602090f35b346105ea5760203660031901126105ea5760206108096004356130b8565b346105ea576020806003193601126105ea5760048035906122f582610662565b6122fd61328a565b60035460a01c60ff1661246f576001600160a01b0382811693908461235d575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f66132b9565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f91612452575b50156124415760405163fbfa77cf60e01b815282818581895afa928315610de9575f93612422575b5050309116036124135750600380546001600160a01b0319166001600160a01b039092169190911790555f80808061231d565b604051633f3e089160e21b8152fd5b612439929350803d10611a4d57611a3d81836108a9565b905f806123e0565b60405163dabc4ad960e01b81528390fd5b6124699150833d8511611a8a57611a7c81836108a9565b5f6123b8565b60405163703fe2e560e01b8152fd5b346105ea5760403660031901126105ea5760043561249b81610662565b602435906124a761328a565b6001600160a01b039181831690811561252d576124d8610712946124ca83613f16565b9485915f5460101c16613db2565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614cc0833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ea5760203660031901126105ea576004355f526007602052602060405f2054604051908152f35b346105ea575f3660031901126105ea576003546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576020600f54604051908152f35b346105ea575f3660031901126105ea5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ea575f3660031901126105ea5760206109a2613fe4565b346105ea5760203660031901126105ea5760043561261e61328a565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fe457508060045414610b6b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614cc083398151915255005b346105ea575f3660031901126105ea5760206109a2614058565b346105ea575f3660031901126105ea57602065ffffffffffff60135460901c16604051908152f35b346105ea5760203660031901126105ea5760043561272181610662565b61272d6107e842613fb2565b61273682612d13565b91612741818361322c565b830180931161081957600182018092116108195761275e9161322c565b810180911161081957602090604051908152f35b346105ea575f3660031901126105ea576020601054604051908152f35b346105ea575f3660031901126105ea5760206109a2613190565b346105ea575f3660031901126105ea57602065ffffffffffff60135460601c16604051908152f35b346105ea575f3660031901126105ea576002546040516001600160a01b039091168152602090f35b346105ea5760403660031901126105ea576109f660243560043561281c82610662565b805f525f80516020614ca0833981519152602052612840600160405f20015461388b565b613952565b346105ea5760203660031901126105ea5760043561286161328a565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fe457508060155414610b6b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614cc083398151915255005b346105ea575f3660031901126105ea575f5460405160109190911c6001600160a01b03168152602090f35b346105ea5760403660031901126105ea5760206109a260043561295281610662565b602435906131d0565b346105ea575f3660031901126105ea5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ea575f3660031901126105ea576020601554604051908152f35b346105ea575f3660031901126105ea576020604051633b9aca008152f35b346105ea575f3660031901126105ea576020600454604051908152f35b346105ea5760603660031901126105ea57600435612a0a81610662565b612a12610830565b6001600160401b0391906044358381116105ea57612a34903690600401611102565b90926040938451612a448161086e565b60608152606060208201526060868201529280612aa3575b61071286612a948787612a8e612a758984845191612c37565b9285612a85602085015183613551565b9301519061347b565b9161411f565b90519081529081906020820190565b81019392506020818503126105ea578035908682116105ea5701926060848203126105ea57845195612ad48761086e565b84358181116105ea5782612ae99187016108f4565b875260208501358181116105ea5782612b039187016108f4565b6020880152858501359081116105ea5761071296612b2c612a8e93612a7593612a9498016108f4565b87820152939450612a5c565b346105ea5760403660031901126105ea57600435612b5581610662565b602435612b6061328a565b6001600160a01b0382161561073d578015612bcc57612b8f612b80614058565b612b88613fe4565b9083614562565b335f908152600e60205260409020909290612ba9906140cc565b8311612bba576106f89183916132cc565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ea5760403660031901126105ea5760206109a2602435612c0081610662565b60043561322c565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610ee5929190613606565b65ffffffffffff8060135460601c169081158015612c85575b612c79575090565b905060015460a01c1690565b508181612c9142613fb2565b1610612c71565b908160209103126105ea575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612cff575b50612cf45760901c1690565b505060015460d01c90565b905082612d0b42613fb2565b16105f612ce8565b6001600160a01b03165f908152600e60205260409020612d32906140cc565b612d3a613fe4565b612d42614058565b9060018101809111610819576001820180921161081957610ee592613e89565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612dbd9060a01c60ff161590565b612e23575f5460101c6001600160a01b0390811691168103612e23576040516370a0823160e01b815230600482015290602090829060249082905afa908115610de9575f91612e0a575090565b610ee5915060203d602011610de257610dd381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612e6b57160490565b612e40565b60015465ffffffffffff808316929160a081901c821680851015612ee85750506013549281841690818015918215612ede575b5050612ecc57610ee59361177992612ec1611bb49360125496612e28565b9160301c1690612e54565b60405163b7d0949760e01b8152600490fd5b109050815f612ea3565b909160135490808260601c1695868015918215612f51575b505015612f2c575050610ee5935061177991612f22611bb49260115495612e28565b9060d01c90612e54565b6117799350611bb49250612f46610ee59660145496612e28565b9160901c1690612e54565b109050865f612f00565b90612f6461328a565b5f926001600160a01b03831692831561252d57811561300e575f5b828110612fec57505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d279286929091612fcf918491612fca9060101c6001600160a01b03166111c0565b613db2565b612fe0604051928392339684613049565b0390a3906108d76132b9565b94613007600191611779613001898789613034565b35613f16565b9501612f7f565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b91908110156130445760051b0190565b613020565b604080825281018390529392916001600160fb1b0381116105ea5760209160609160051b809183880137850101930152565b908160209103126105ea5751610ee581610ad8565b908160209103126105ea5751610ee581610662565b8181029291811591840414171561081957565b60125480821061317e57601154808310156130f95750611bcc90610ee592611bc56130ed6013549365ffffffffffff93612c2a565b828460301c16906130a5565b905060145480158015613175575b1561313f5750610ee59165ffffffffffff61313561312b611bcc9460015494612c2a565b8360d01c906130a5565b9160a01c16612cc0565b611bcc9150610ee59261316b61315f6013549365ffffffffffff93612c2a565b828460901c16906130a5565b9160601c16612cc0565b50808310613107565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c1680159182156131bb575b50506131b55760105490565b600f5490565b9091506131c742613fb2565b16105f806131a9565b5f546001600160a01b039160109190911c82169082160361321a57601654166131f857505f90565b633b9aca0060155461320a8184613e0b565b9209151581018091116108195790565b60405163350b944160e11b8152600490fd5b9061325290825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610ee592613e89565b5f80516020614cc083398151915260028154146132a75760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614cc083398151915255565b335f908152600e60205260409020939291906132e742613fb2565b335f908152600e602052604090206132fe906140cc565b91848303928311610819576133397febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f9385936133c899613cf4565b505061335361334742613fb2565b610cdd87611713614058565b505061336d61336142613fb2565b610cc884611713613fe4565b50506134168161340161338a6133856107e842613fb2565b612cb2565b6133e061339f825f52600660205260405f2090565b546133b2835f52600760205260405f2090565b546133be82828b61411f565b9d8e998a93612cc0565b6133da855f52600660205260405f2090565b55612cc0565b6133f2825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b613421838254612cc0565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ea575163ffffffff811681036105ea5790565b90600163ffffffff8093160191821161081957565b9080511561354757806020806134969351830101910161344a565b61349f81614390565b906134b0825165ffffffffffff1690565b9065ffffffffffff808516921682811461353b57821191826134e6575b50506134dd5750610ee590614140565b60209150015190565b9091506134f4600a54612c1c565b63ffffffff83161491821561350d575b50505f806134cd565b613533919250613527613522611bb492613466565b614390565b5165ffffffffffff1690565b115f80613504565b50505060209150015190565b50610ee590614140565b908051156135fc578060208061356c9351830101910161344a565b6135758161441a565b90613586825165ffffffffffff1690565b9065ffffffffffff808516921682811461353b57821191826135b3575b50506134dd5750610ee590614207565b9091506135c1600c54612c1c565b63ffffffff8316149182156135da575b50505f806135a3565b6135f49192506135276135ef611bb492613466565b61441a565b115f806135d1565b50610ee590614207565b918051156136c857806020806136219351830101910161344a565b9161362c838261449a565b9261363d845165ffffffffffff1690565b9065ffffffffffff80851692168281146136bc5782119182613673575b505061366a57610ee592506142c7565b50506020015190565b9091506136808354612c1c565b63ffffffff831614918215613699575b50505f8061365a565b6136b49192506135276136ae611bb492613466565b8561449a565b115f80613690565b50505050506020015190565b50610ee5916142c7565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fe45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff90613725565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff90613725565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff90613725565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff90613725565b5f8181525f80516020614ca083398151915260209081526040808320338452909152902060ff90613725565b5f8181525f80516020614ca0833981519152602081815260408084206001600160a01b03871685529091529091205460ff1661394b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614ca0833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561394b575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d792604052614508565b600b5481101561304457600b5f525f80516020614c8083398151915201905f90565b600d5481101561304457600d5f525f80516020614c6083398151915201905f90565b8054821015613044575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d5581101561304457600d5f525f80516020614c608339815191520155565b600b54600160401b811015610889576001810180600b5581101561304457600b5f525f80516020614c808339815191520155565b90815491600160401b8310156108895782613b209160016108d795018155613a80565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613be3575b50613b5061459b565b50929091815492613b5f613fe4565b9481613bce575b5015613bab57505f1982018281116108195781541115613044575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613bbf926001600160d01b03169150614797565b5050613bca83613a95565b9190565b65ffffffffffff83811691161490505f613b66565b600160401b8110156108895760018101808455811015613044575f908382525f80516020614c6083398151915201555f613b47565b919091600b9081548015613cbf575b50613c306145f0565b50929091815492613c3f614058565b9481613caa575b5015613c8b57505f1982018281116108195781541115613044575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613c9f926001600160d01b03169150614867565b5050613bca83613ac9565b65ffffffffffff83811691161490505f613c46565b600160401b8110156108895760018101808455811015613044575f908382525f80516020614c8083398151915201555f613c27565b90929192600182019081548015613d82575b5084613d1184614645565b50949092845493613d21836140cc565b9681613d6d575b5015613d4a575050505f19810190811161081957613b208591613bca93613a80565b613bca949293613d66926001600160d01b039091169190614906565b5050613afd565b65ffffffffffff83811691161490505f613d28565b600160401b81101561088957806001613d9e9201845583613a80565b8154905f199060031b1b191690555f613d06565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d792604052614508565b8115612e6b570490565b90808202905f1981840990828083109203918083039214613e7c57633b9aca009082821115613e6a577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f095784831115613efc5790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b821560030260111861467e565b505090610ee59250613e01565b90613f236107e842613fb2565b82101561317e5760ff613f53613f41845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613fa057613f63338361322c565b918215613f8e57613f819061340133915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613fc5571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061401f57505f5b6001600160d01b03811615612e2357600d5481101561304457600d5f525f80516020614c60833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c613fef565b600a548061409357505f5b6001600160d01b03811615612e2357600b5481101561304457600b5f525f80516020614c80833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c614063565b80548061410157505f5b6001600160d01b038116156140fb5760016140f19201613a80565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c6140d6565b919060018101809111610819576001820180921161081957610ee592613e89565b600a54905f8291600584116141ae575b61415a9350614aeb565b8061417d57505f5b6001600160d01b03811615612e23576140f1610ee591613a3c565b6141a261418c6141a992612c1c565b600a5f525f80516020614c408339815191520190565b5460301c90565b614162565b91926141b9816149c0565b81039081116108195761415a93600a5f5265ffffffffffff80835f80516020614c40833981519152015416908516105f146141f5575091614150565b92915061420190612cb2565b90614150565b600c54905f82916005841161426e575b6142219350614b54565b8061424457505f5b6001600160d01b03811615612e23576140f1610ee591613a5e565b6141a261425361426992612c1c565b600c5f525f80516020614c208339815191520190565b614229565b9192614279816149c0565b81039081116108195761422193600c5f5265ffffffffffff80835f80516020614c20833981519152015416908516105f146142b5575091614217565b9291506142c190612cb2565b90614217565b908154905f82916005841161432a575b6142e2935084614bbd565b8061430a57505f905b6001600160d01b038216156140fb57610ee59160016140f19201613a80565b6141a261431961432492612c1c565b835f5260205f200190565b906142eb565b9192614335816149c0565b8103908111610819576142e293855f5265ffffffffffff808360205f20015416908516105f146143665750916142d7565b92915061437290612cb2565b906142d7565b604051906143858261088e565b5f6020838281520152565b614398614378565b506143a1614378565b50600a5481101561304457600a5f526020604051916143bf8361088e565b5f80516020614c4083398151915201549165ffffffffffff83169283825260301c9182910152600b5481101561304457600b5f525f80516020614c808339815191520154604051916144108361088e565b8252602082015290565b614422614378565b5061442b614378565b50600c5481101561304457600c5f526020604051916144498361088e565b5f80516020614c2083398151915201549165ffffffffffff83169283825260301c9182910152600d5481101561304457600d5f525f80516020614c608339815191520154604051916144108361088e565b90602060016144be6144ea936144ae614378565b506144b7614378565b5085613a80565b5093604051946144cd8661088e565b549465ffffffffffff86169586825260301c938491015201613a80565b905490604051926144fa8461088e565b835260031b1c602082015290565b905f602091828151910182855af115612ca7575f513d61455957506001600160a01b0381163b155b6145375750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614530565b919060018101809111610819576001820180921161081957614585828285613e89565b928215612e6b5709151581018091116108195790565b600c54806145ac57505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061460157505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b8054806146565750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c5582101561304457600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c2083398151915290910155565b600a5490600160401b821015610889576001820180600a5582101561304457600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c4083398151915290910155565b8054600160401b8110156108895761475991600182018155613a80565b61478457815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c54919291801561483e576142536147af91612c1c565b9081549165ffffffffffff9081841691831680831161482c578692036147f4576147ed92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b5050614827906148136148056108ca565b65ffffffffffff9092168252565b6001600160d01b038516602082015261468e565b6147ed565b604051632520601d60e01b8152600490fd5b506148629061484e6148056108ca565b6001600160d01b038416602082015261468e565b5f9190565b600a5491929180156148e25761418c61487f91612c1c565b9081549165ffffffffffff9081841691831680831161482c578692036148bd576147ed92509065ffffffffffff82549181199060301b169116179055565b5050614827906148ce6148056108ca565b6001600160d01b03851660208201526146e5565b50614862906148f26148056108ca565b6001600160d01b03841660208201526146e5565b8054929392801561499b5761491d61492891612c1c565b825f5260205f200190565b9182549265ffffffffffff9182851692811680841161482c5787930361496757506147ed92509065ffffffffffff82549181199060301b169116179055565b915050614827916149876149796108ca565b65ffffffffffff9093168352565b6001600160d01b038616602083015261473c565b5090614862916149ac6149796108ca565b6001600160d01b038516602083015261473c565b6001811115610ee557600181600160801b811015614ad9575b614a81614a77614a6d614a63614a59614a4f614a8d97600488600160401b614a889a1015614acc575b640100000000811015614abf575b62010000811015614ab2575b610100811015614aa6575b6010811015614a9a575b1015614a92575b60030260011c614a48818b613e01565b0160011c90565b614a48818a613e01565b614a488189613e01565b614a488188613e01565b614a488187613e01565b614a488186613e01565b8093613e01565b821190565b900390565b60011b614a38565b811c9160021b91614a31565b60081c91811b91614a27565b60101c9160081b91614a1c565b60201c9160101b91614a10565b60401c9160201b91614a02565b50600160401b9050608082901c6149d9565b905b828110614af957505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614c40833981519152015416908616105f14614b41575050915b90614aed565b9093925081018091116108195790614b3b565b905b828110614b6257505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614c20833981519152015416908616105f14614baa575050915b90614b56565b9093925081018091116108195790614ba4565b91905b838210614bcd5750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614c0c575050925b9190614bc0565b9094935081018091116108195791614c0556fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220b46961e5957721742129f004f4342d39f9c9ecd5fbb1450234b8b21aabcec4cf64736f6c63430008190033", - "sourceMap": "1252:21181:130:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:24;;;:87;;;;1252:21181:130;;;;;;;;;;3551:87:24;-1:-1:-1;;;1134:40:33;;-1:-1:-1;3551:87:24;;;1252:21181:130;-1:-1:-1;1252:21181:130;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;757:38:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;612:37:131;1252:21181:130;;;;-1:-1:-1;;;;;1252:21181:130;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;3361:103:31;;;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;10891:21;10887:75;;11000:10;1252:21181;;;;6047:15;1252:21181;;;;;6047:33;;;:::i;:24::-;:33;:::i;:::-;10976:35;;10972:88;;1057:70:118;5628:21:130;;:::i;:::-;5272:22;;:::i;:::-;1057:70:118;;;:::i;:::-;11167:20:130;;;11163:82;;11270:43;;;;:::i;:::-;3426:1:31;;;:::i;:::-;1252:21181:130;;;;;;;;;;;;;;;;;;11163:82;1252:21181;;-1:-1:-1;;;;;;11210:24:130;;1252:21181;;11210:24;10972:88;1252:21181;;-1:-1:-1;;;11034:15:130;;1252:21181;;11034:15;10887:75;1252:21181;;-1:-1:-1;;;10935:16:130;;1252:21181;;10935:16;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;4919:24:24;1252:21181:130;-1:-1:-1;1252:21181:130;4919:24:24;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;4327:34:131;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;4331:25;819:34:79;837:15;819:34;:::i;:::-;4331:25:130;:::i;:::-;4680:10;;4676:65;;-1:-1:-1;;1252:21181:130;;;;;;;4757:21;1252:21181;4757:21;;:::i;:::-;1252:21181;;;;;;;;;;:::i;4676:65::-;1252:21181;;-1:-1:-1;;;4713:17:130;;1252:21181;;4713:17;1252:21181;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21181:130;;;;;;-1:-1:-1;;1252:21181:130;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;5831:59;1252:21181;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;;-1:-1:-1;1252:21181:130;;;5831:15;1252:21181;;;;;5831:59;:::i;:::-;1252:21181;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;5350:25:24;1252:21181:130;;;;;;;:::i;:::-;;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;3202:4:24;4919:24;1252:21181:130;-1:-1:-1;1252:21181:130;4919:24:24;1252:21181:130;3202:4:24;:::i;:::-;5350:25;:::i;:::-;1252:21181:130;;;;;;;-1:-1:-1;;1252:21181:130;;;;;2227:28:131;1252:21181:130;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;1479:40:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;966:10:29;-1:-1:-1;;;;;1252:21181:130;;6441:34:24;6437:102;;6549:37;1252:21181:130;;;6549:37:24;:::i;6437:102::-;1252:21181:130;;-1:-1:-1;;;6498:30:24;;1252:21181:130;;6498:30:24;1252:21181:130;;;;;;-1:-1:-1;;1252:21181:130;;;;;6206:22;1252:21181;;;;6206:46;;;1252:21181;;;;;;;;;;;6206:46;-1:-1:-1;6232:20:130;1252:21181;;;;;6206:46;;1252:21181;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;3202:4:24;;:::i;:::-;-1:-1:-1;1252:21181:130;;;;;;;;;;;15955:26;15951:76;;-1:-1:-1;;1252:21181:130;;;;;-1:-1:-1;1252:21181:130;;;;;;16078:27;;1252:21181;;16078:27;1949:1:31;-1:-1:-1;;;;;;;;;;;1252:21181:130;;15951:76;1252:21181;;-1:-1:-1;;;16004:12:130;;1252:21181;;16004:12;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;;;;8840:24;;8836:81;;-1:-1:-1;1252:21181:130;;;;8931:55;;;1252:21181;8927:118;;1252:21181;;-1:-1:-1;;;9079:43:130;;;9116:4;9079:43;;;1252:21181;;;;;;;;;;;;;;;;;;;;;;;;;9079:43;;;;;;;;;;-1:-1:-1;9079:43:130;;;1252:21181;;9195:6;1252:21181;;;9116:4;;9168:10;;9195:6;;:::i;:::-;-1:-1:-1;1252:21181:130;;;9230:43;;;9116:4;9230:43;;;1252:21181;;;;;;;;;;9230:43;1252:21181;;;;;;9230:43;1252:21181;;;;;9230:43;;;;;;;:59;:43;-1:-1:-1;9230:43:130;;;1252:21181;9230:59;;;:::i;:::-;9304:20;;;9300:79;;1252:21181;;;;;9393:64;;1252:21181;9389:123;;5628:21;;1252:21181;5628:21;9868:93;5628:21;;:::i;:::-;5272:22;9792:66;5272:22;;:::i;:::-;9715:67;390:70:118;;;;;:::i;:::-;837:15:79;9751:30:130;837:15:79;819:34;837:15;819:34;:::i;:::-;9751:30:130;;:::i;:::-;9715:67;;:::i;:::-;837:15:79;;9829:28:130;837:15:79;819:34;837:15;819:34;:::i;9829:28:130:-;9792:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21181:130;;;;;;6047:15;1252:21181;;;;;837:15:79;9919:41:130;837:15:79;6047:33:130;:24;819:34:79;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;;;;;;6047:15;1252:21181;;;;;;;6047:33;9919:41;:::i;:::-;9868:93;;:::i;:::-;-1:-1:-1;;1252:21181:130;;;;;;;;;;;9168:10;;9977:62;;1252:21181;;9977:62;3426:1:31;;:::i;:::-;1252:21181:130;;;;;;;;;;;;;;;;;;;9389:123;1252:21181;;-1:-1:-1;;;9480:21:130;;;9393:64;5628:21;9411:31;5628:21;;;:::i;9411:31::-;1252:21181;;-1:-1:-1;9393:64:130;;9300:79;-1:-1:-1;1252:21181:130;;-1:-1:-1;;;9347:21:130;;;9230:43;;;;;;-1:-1:-1;9230:43:130;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9079:::-;9195:6;9079:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8927:118;-1:-1:-1;1252:21181:130;;-1:-1:-1;;;9009:25:130;;;8931:55;-1:-1:-1;8975:10:130;1252:21181;;;;8952:22;1252:21181;;;;;;;;8951:35;8931:55;;8836:81;1252:21181;;-1:-1:-1;;;8887:19:130;;;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;2391:34:131;1252:21181:130;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5098:48;1252:21181;;;:::i;:::-;5098:48;;:::i;1252:21181::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;;1479:40:131;;1252:21181:130;;4468:23:24;4464:108;;-1:-1:-1;19618:16:130;1252:21181;-1:-1:-1;;;;;1252:21181:130;;;;;;19618:37;;19614:87;;-1:-1:-1;;;;;;1252:21181:130;;;19618:16;1252:21181;;;;;;19762:38;;1252:21181;;19762:38;1949:1:31;-1:-1:-1;;;;;;;;;;;1252:21181:130;;4464:108:24;1252:21181:130;;;;4514:47:24;;;;;;966:10:29;1252:21181:130;4514:47:24;;1252:21181:130;;;;;4514:47:24;1252:21181:130;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;3202:4:24;;:::i;:::-;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;16783:24;16779:74;;-1:-1:-1;;1252:21181:130;;;;;;;;-1:-1:-1;1252:21181:130;;;;;;16902:25;;1252:21181;;16902:25;3426:1:31;;:::i;1252:21181:130:-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;4059:32:131;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;-1:-1:-1;1252:21181:130;2854:59:131;1252:21181:130;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;:::i;:::-;3361:103:31;;;;;:::i;:::-;12559:10:130;;12555:70;;12646:19;;;:::i;:::-;12638:27;;12634:82;;12837:44;12739:22;;;;;:::i;:::-;-1:-1:-1;1252:21181:130;;;;12837:19;;1252:21181;;-1:-1:-1;;;;;1252:21181:130;;-1:-1:-1;;;;;1252:21181:130;;;12837:19;1252:21181;;;-1:-1:-1;;;12837:44:130;;;12875:4;12837:44;;;1252:21181;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;;;;;12837:44;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12837:44:130;;;1252:21181;;;12944:5;1252:21181;12965:57;1252:21181;;-1:-1:-1;1252:21181:130;;;;12944:5;;;:::i;:::-;1252:21181;-1:-1:-1;;;12965:57:130;;1252:21181;;;;;;;12986:10;;12965:57;;;:::i;:::-;;;;;;;;;1714:45:131;12965:57:130;-1:-1:-1;12965:57:130;;;1252:21181;12965:73;;12961:128;;1252:21181;;13103:44;;;12875:4;13103:44;;;1252:21181;;;;;;;;;13103:44;1252:21181;;;;;;13103:44;;;;;;;;;;:60;:44;-1:-1:-1;13103:44:130;;;:60;;;:::i;:::-;:67;13099:126;;13239:7;;13235:93;;1252:21181;3426:1:31;;;:::i;:::-;1252:21181:130;13345:4;1252:21181;;;;;13235:93;13295:16;1252:21181;13313:3;;1252:21181;-1:-1:-1;;;;;1252:21181:130;;13313:3;;:::i;:::-;13235:93;;;;13099:126;1252:21181;;-1:-1:-1;;;13193:21:130;;;12961:128;1252:21181;;-1:-1:-1;;;13061:17:130;;1252:21181;;13061:17;12965:57;;;;;;;;;;;;;;:::i;:::-;;;;12837:44;-1:-1:-1;12837:44:130;;;;;;;12965:57;12837:44;;;12944:5;12837:44;;;;-1:-1:-1;12837:44:130;;;;;;:::i;:::-;;;;;;;;;;;;;12634:82;1252:21181;;-1:-1:-1;;;12688:17:130;;1252:21181;;12688:17;12555:70;1252:21181;;-1:-1:-1;;;12592:22:130;;1252:21181;;12592:22;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;1041:36:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;4486:26;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;4486:26;:::i;1252:21181::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;1714:45:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;4587:28:131;1252:21181:130;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;1575:42;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;3967:36:131;1252:21181:130;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;2559:32:131;1252:21181:130;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;13544:7:130;1252:21181;13530:21;;-1:-1:-1;;;;;1252:21181:130;;;13530:21;:10;:21;13526:71;;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;13678;;;;:::i;:::-;13718:17;;;;:53;;;1252:21181;13717:87;;;;1252:21181;13713:146;;1252:21181;5628:21;15723:48;5628:21;;;:::i;:::-;13953:17;13941:30;13953:17;;;:::i;:::-;1252:21181;;13941:11;1252:21181;;;;;;;13941:30;1252:21181;;13985:29;;;;;14055:30;;;;;:::i;:::-;3066:5:74;;;3463;;;1252:21181:130;3060:42:74;;14165:17:130;;;14161:384;;13981:1615;;;;;;;15610:17;15606:102;;13981:1615;1252:21181;;;;;;;;;;;;;;;;;;;;;;;15723:48;3426:1:31;;:::i;:::-;1252:21181:130;;;;;;;;;;;;;15606:102;-1:-1:-1;1252:21181:130;15683:13;;1252:21181;;15643:18;;1252:21181;;-1:-1:-1;;;;;1252:21181:130;;;15643:18;13969:1;1252:21181;-1:-1:-1;;;;;1252:21181:130;;;15683:13;15606:102;;14161:384;14458:29;14226:50;14375:65;14226:50;14411:28;14327:29;14226:50;14470:16;14226:50;14490:40;14226:50;;;:::i;:::-;14327:29;;;:::i;:::-;837:15:79;819:34;837:15;819:34;:::i;:::-;14411:28:130;;:::i;14490:40::-;14470:16;;:::i;14458:29::-;1252:21181;14161:384;;;;;;;13981:1615;14598:26;;;;1252:21181;;13941:11;1252:21181;;;;;;;14598:26;1252:21181;14663:27;:45;:27;;;;;:::i;:45::-;3463:5:74;3066;;;3463;;;1252:21181:130;3060:42:74;;14788:17:130;;14784:802;;13981:1615;;;;;;;;14784:802;15509:26;14849:50;;14950:53;14849:50;15050:54;14849:50;15050:29;14849:50;15538:33;14849:50;;;;:::i;:::-;14950:53;;;;;;:::i;:::-;15050:29;;;;:::i;:::-;:54;:::i;:::-;15127:33;;;;15123:194;;14784:802;15335:65;837:15:79;15371:28:130;15451:40;837:15:79;;;819:34;837:15;819:34;:::i;15451:40:130:-;15418:30;15430:17;;;:::i;15418:30::-;1252:21181;15538:33;:::i;:::-;15509:26;1252:21181;;13941:11;1252:21181;;;;;;;15509:26;1252:21181;14784:802;;;;;;;15123:194;15210:33;15184:59;15335:65;15210:33;;;15451:40;15210:33;;;:::i;:::-;15184:59;;:::i;:::-;15265:33;;-1:-1:-1;15265:33:130;;-1:-1:-1;15123:194:130;;13713:146;1252:21181;;-1:-1:-1;;;13827:21:130;;1252:21181;;13827:21;13717:87;13776:28;;;;13717:87;;13718:53;13754:17;;;;:::i;:::-;13739:32;;13718:53;;13526:71;1252:21181;;-1:-1:-1;;;13574:12:130;;1252:21181;;13574:12;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;4933:1;1252:21181;;;;;;;4905:30;1252:21181;4905:30;;:::i;1252:21181::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;4331:25;819:34:79;837:15;819:34;:::i;1252:21181:130:-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21181:130;2730:68:131;1252:21181:130;;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11857:14;1252:21181;;11857:14;;:::i;1252:21181::-;;;;;5456:47;1252:21181;;;:::i;:::-;5456:47;;:::i;1252:21181::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;19947:22:130;1252:21181;;;;;19943:89;;1252:21181;;-1:-1:-1;;;20047:49:130;;-1:-1:-1;;;;;1252:21181:130;;;20047:49;;;1252:21181;;;;;;;;;;;;;;;20047:49;20057:17;;;1252:21181;20047:49;;;;;;;-1:-1:-1;20047:49:130;;;1252:21181;20046:50;;20042:102;;1252:21181;;-1:-1:-1;;;20158:34:130;;1252:21181;;;;;20158:34;1252:21181;20158:34;1252:21181;;20158:34;;;;;;;-1:-1:-1;20158:34:130;;;1252:21181;20204:4;;;1252:21181;;20158:51;20154:107;;-1:-1:-1;19947:22:130;1252:21181;;-1:-1:-1;;;;;1252:21181:130;;;;-1:-1:-1;;;;;;1252:21181:130;;;;;;;-1:-1:-1;;;1252:21181:130;;;20349:24;-1:-1:-1;;20349:24:130;3426:1:31;;:::i;20154:107:130:-;1252:21181;;-1:-1:-1;;;20232:18:130;;;20158:34;;;;;;;-1:-1:-1;20158:34:130;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20042:102;-1:-1:-1;1252:21181:130;;-1:-1:-1;;;20119:14:130;;;20047:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;19943:89;1252:21181;;-1:-1:-1;;;19992:29:130;;;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;:::i;:::-;;;3361:103:31;;:::i;:::-;3202:4:24;;:::i;:::-;17505:1:130;17474:32;;17470:106;;1252:21181;;;;17590:22;1252:21181;;;;;;;;;;17590:27;;;:73;;;;1252:21181;17586:505;;;1252:21181;18105:14;1252:21181;;;;;;;;;18105:31;;;18101:94;;18209:32;:96;;;1252:21181;18205:146;;18483:105;18508:80;18509:67;18677:62;837:15:79;18361:67:130;18383:45;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;18400:28;1252:21181;18383:45;;:::i;:::-;18361:67;1252:21181;;18361:67;17590:22;1252:21181;;-1:-1:-1;;;;1252:21181:130;;;;;-1:-1:-1;;;1252:21181:130;;;;4486:26;4331:25;819:34:79;837:15;819:34;:::i;4486:26:130:-;1252:21181;18531:45;18400:28;1252:21181;18531:45;1252:21181;18105:14;1252:21181;;;;;;;;;;18531:45;;;:::i;:::-;1252:21181;;18509:67;:::i;:::-;18508:80;:::i;:::-;17590:22;1252:21181;;-1:-1:-1;;;;1252:21181:130;;;;;;-1:-1:-1;;;1252:21181:130;;;;;;;;18483:105;18598:63;;;1252:21181;;18598:63;1252:21181;;;;;;;;;;;;;;;;;18677:62;3426:1:31;;:::i;18209:96:130:-;1252:21181;;18245:28;1252:21181;18245:60;18209:96;;18101:94;1252:21181;;-1:-1:-1;;;18159:25:130;;1252:21181;;18159:25;17586:505;17679:53;17709:23;1252:21181;17679:53;1252:21181;;17679:53;17746:35;1252:21181;17767:14;1252:21181;;;;;;;17590:22;1252:21181;;;;;;;;;;17590:22;1252:21181;;17746:35;17767:14;1252:21181;17795:43;;1252:21181;;;;;;;;17590:22;1252:21181;;;17590:22;1252:21181;;17795:43;17852:45;17878:19;1252:21181;17709:23;1252:21181;;17852:45;17590:22;1252:21181;17911:35;;1252:21181;;;;17767:14;1252:21181;;-1:-1:-1;;;;;1252:21181:130;;;;;;-1:-1:-1;;;;;;1252:21181:130;;;;;;;;17911:35;17590:22;1252:21181;17960:43;;1252:21181;;;;17767:14;1252:21181;;-1:-1:-1;;;;1252:21181:130;;;;;;-1:-1:-1;;;1252:21181:130;;;;;;;;17960:43;18017:63;18048:32;1252:21181;18017:63;1252:21181;;18017:63;17586:505;;17590:73;837:15:79;;17621:42:130;819:34:79;837:15;819:34;:::i;17621:42:130:-;-1:-1:-1;17621:42:130;17590:73;;;17470:106;1252:21181;;-1:-1:-1;;;17529:36:130;;1252:21181;;17529:36;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;3202:4:24;;:::i;:::-;18924:16:130;1252:21181;;;;;;;;;;;;;18924:26;18920:76;;-1:-1:-1;;;;1252:21181:130;;;;;-1:-1:-1;;;1252:21181:130;;18924:16;1252:21181;;;;;;19047:27;;1252:21181;;19047:27;3426:1:31;;:::i;1252:21181:130:-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;1666:40;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;5628:21;;:::i;:::-;1252:21181;;;;6432:11;1252:21181;;;;;;;;;;;;;6473:1;1252:21181;;;;;;;;;6432:11;1252:21181;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;3901:31:24;1252:21181:130;;;;;:::i;:::-;;;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;;;;3901:31:24;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;3869:42:131;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;3775:38:131;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21181:130;6047:15;1252:21181;;;6047:33;1252:21181;-1:-1:-1;1252:21181:130;6047:33;:::i;1252:21181::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21181:130;;;;-1:-1:-1;1252:21181:130;477:31:106;1252:21181:130;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:106;;;;1252:21181:130;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;477:31:106;;;1252:21181:130;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;477:31:106;1252:21181:130;477:31:106;;;;;;;:::i;:::-;518:79;;;1252:21181:130;518:79:106;;1252:21181:130;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;2139:32:131;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;900:35:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;3202:4:24;;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;;16320:21;;16316:75;;-1:-1:-1;1252:21181:130;;;16405:22;1252:21181;;;;;;;;;;;;;16405:41;16401:91;;-1:-1:-1;;;;;1252:21181:130;;;;;8952:22;1252:21181;;;;;16558:44;;;;16502:40;;:31;1252:21181;;;;;;;;;;;;;;16502:40;1252:21181;;;;;;;;;;;;;;;16558:44;;;;3426:1:31;;:::i;16316:75:130:-;1252:21181;;-1:-1:-1;;;16364:16:130;;1252:21181;;16364:16;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;3089:94:131;1252:21181:130;;;;;:::i;:::-;;;-1:-1:-1;1252:21181:130;3089:94:131;1252:21181:130;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;;;;3089:94:131;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;3239:92:131;1252:21181:130;;;;;:::i;:::-;;;-1:-1:-1;1252:21181:130;3239:92:131;1252:21181:130;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;1187:40:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;4500:31:131;1252:21181:130;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:31;;:::i;:::-;20516:20:130;1252:21181;;;;;20512:85;;-1:-1:-1;;;;;1252:21181:130;;;;;;20607:312;;1252:21181;20516:20;1252:21181;;-1:-1:-1;;;;1252:21181:130;-1:-1:-1;;;1252:21181:130;;;20929:27;20972:20;-1:-1:-1;20972:20:130;;3426:1:31;;:::i;20607:312:130:-;1252:21181;;-1:-1:-1;;;20654:45:130;;-1:-1:-1;;;;;1252:21181:130;;20654:45;;;1252:21181;;;20654:45;;1252:21181;;;;;;20654:45;20664:15;;;1252:21181;20654:45;;;;;;;-1:-1:-1;20654:45:130;;;20607:312;20653:46;;20649:104;;1252:21181;;-1:-1:-1;;;20771:30:130;;;1252:21181;20771:30;1252:21181;20771:30;;;;;;;;-1:-1:-1;20771:30:130;;;20607:312;20813:4;;;1252:21181;;20771:47;20767:109;;-1:-1:-1;20516:20:130;1252:21181;;-1:-1:-1;;;;;;1252:21181:130;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;20607:312;;;;;;20767:109;1252:21181;;-1:-1:-1;;;20845:16:130;;;20771:30;;;;;;;-1:-1:-1;20771:30:130;;;;;;:::i;:::-;;;;;;20649:104;1252:21181;;-1:-1:-1;;;20726:12:130;;1252:21181;;20726:12;20654:45;;;;;;;;;;;;;;:::i;:::-;;;;20512:85;1252:21181;;-1:-1:-1;;;20559:27:130;;;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;3361:103:31;;;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;;;;11478:23;;11474:79;;11639:6;1252:21181;11572:13;;;;:::i;:::-;1252:21181;;;-1:-1:-1;1252:21181:130;;;;11639:6;:::i;:::-;1252:21181;;;;;;;;;;;;11668:10;;11662:43;;1252:21181;11662:43;1949:1:31;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;;;;;;;11474:79;1252:21181;;-1:-1:-1;;;11524:18:130;;1252:21181;;11524:18;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;-1:-1:-1;1252:21181:130;2969:64:131;1252:21181:130;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;2481:22:131;1252:21181:130;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;3573:43:131;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;1333:36:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;5628:21;;:::i;1252:21181::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;3361:103:31;;:::i;:::-;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;;900:35:131;;1252:21181:130;;4468:23:24;4464:108;;1252:21181:130;;;;17105:21;17101:71;;1252:21181;;17218:22;1252:21181;;;;;;;;17218:22;1949:1:31;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;5272:22;;:::i;1252:21181::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;4239:32:131;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;7836:24;;;:::i;:::-;7863:29;;;;;:::i;:::-;1252:21181;;;;;;;7917:1;1252:21181;;;;;;;7895:33;;;:::i;:::-;1252:21181;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;3672:47:131;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;4147:36:131;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;2311:24:131;1252:21181:130;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;5767:26:24;1252:21181:130;;;;;;;:::i;:::-;;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;3202:4:24;4919:24;1252:21181:130;-1:-1:-1;1252:21181:130;4919:24:24;1252:21181:130;3202:4:24;:::i;:::-;5767:26;:::i;1252:21181:130:-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;3361:103:31;;:::i;:::-;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;;1333:36:131;;1252:21181:130;;4468:23:24;4464:108;;1252:21181:130;;19261:12;1252:21181;19261:29;19257:79;;1252:21181;;19389:30;1252:21181;19261:12;1252:21181;;;;;;19389:30;1949:1:31;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;466:39:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;4417:27:131;1252:21181:130;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;1616:3:131;1252:21181:130;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;;:::i;:::-;6654:48;;1252:21181;;;;;;;:::i;:::-;;;;;;;;;;;;;;6716:16;;6712:111;;1252:21181;;6915:39;1057:70:118;6915:39:130;;5098:48;6878:77;6915:39;;;;6878:77;;:::i;:::-;6994:36;;5456:47;1252:21181;6994:36;;;5456:47;;:::i;:::-;7071:37;;;5098:48;;:::i;:::-;1057:70:118;;:::i;:::-;1252:21181:130;;;;;;;;;;;;;6712:111;6771:41;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5098:48;1252:21181;6878:77;1252:21181;1057:70:118;1252:21181:130;;;:::i;:::-;;;;;6712:111;;;;;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;:::i;:::-;;;3361:103:31;;:::i;:::-;-1:-1:-1;;;;;1252:21181:130;;10256:21;10252:75;;10341:11;;10337:73;;845:69:118;5272:22:130;;:::i;:::-;5628:21;;:::i;:::-;845:69:118;;;:::i;:::-;10546:10:130;1252:21181;;;;6047:15;1252:21181;;;;;10546:10;;;6047:33;;;:::i;:::-;10516:41;;10512:96;;10633:40;;;;;:::i;10512:96::-;1252:21181;;-1:-1:-1;;;10580:17:130;;1252:21181;;10580:17;10337:73;1252:21181;;-1:-1:-1;;;10375:24:130;;1252:21181;;10375:24;1252:21181;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5704:193::-;-1:-1:-1;;;;;1252:21181:130;-1:-1:-1;1252:21181:130;;;5831:15;1252:21181;;;;;5831:59;;5704:193;;5831:59;:::i;2517:241::-;1252:21181;;2589:22;1252:21181;;;;2589:27;;;:72;;;;2517:241;2585:128;;2722:29;2517:241;:::o;2585:128::-;1252:21181;;2684:18;1252:21181;;;;2677:25;:::o;2589:72::-;837:15:79;;;819:34;837:15;819:34;:::i;:::-;1252:21181:130;2620:41;2589:72;;1252:21181;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;13969:1;1252:21181;;;;;;;:::o;:::-;;;;;;;;;;:::o;2240:229::-;2308:22;1252:21181;;;;;;;;2308:27;;:72;;;;;2240:229;2304:124;;;1252:21181;;;2240:229;:::o;2304:124::-;1252:21181;;2403:14;1252:21181;;;2396:21;:::o;2308:72::-;837:15:79;;;819:34;837:15;819:34;:::i;:::-;1252:21181:130;2339:41;2308:72;;;7174:191;-1:-1:-1;;;;;1252:21181:130;-1:-1:-1;1252:21181:130;;;6047:15;1252:21181;;;;;6047:33;;;:::i;:::-;5628:21;;:::i;:::-;5272:22;;:::i;:::-;1252:21181;1884:1:118;1252:21181:130;;;;;;;1884:1:118;1252:21181:130;;;;;;;9478:25:74;;;:::i;1252:21181:130:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;:::o;7996:283::-;8092:16;1252:21181;8091:17;;1252:21181;;;;8951:35;;1252:21181;8091:17;8087:56;;8174:10;1252:21181;;;-1:-1:-1;;;;;1252:21181:130;;;;;8201:20;;1252:21181;;;;-1:-1:-1;;;8224:44:130;;8262:4;8224:44;;;1252:21181;;8224:44;;1252:21181;;;;;;8224:44;;;;;;;8174:10;8224:44;;;8201:71;7996:283;:::o;8224:44::-;;;;;;;;;;;;;;:::i;8201:71::-;;8174:10;7996:283;:::o;1252:21181::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2806:693::-;2911:18;1252:21181;;;;;;;;;;;;;2899:30;;;;;;1252:21181;;2949:22;1252:21181;;;;;2949:27;;;;:65;;;;;2895:598;2945:129;;;;3094:87;1252:21181;3094:87;1252:21181;3125:34;3124:57;1252:21181;3094:27;1252:21181;3125:34;;:::i;:::-;1252:21181;;;;3124:57;;:::i;2945:129::-;1252:21181;;-1:-1:-1;;;3041:18:130;;;;;2949:65;2980:34;;-1:-1:-1;2949:65:130;;;;2895:598;1252:21181;;3202:22;1252:21181;;;;;;;3202:27;;;;:65;;;;;2895:598;-1:-1:-1;;3198:295:130;;;1252:21181;;3290:75;1252:21181;;3290:75;1252:21181;3317:30;3316:49;1252:21181;3290:23;1252:21181;3317:30;;:::i;:::-;1252:21181;;;3316:49;;:::i;3198:295::-;3403:79;1252:21181;;3425:57;1252:21181;;3426:34;3403:79;1252:21181;3403:19;1252:21181;3426:34;;:::i;:::-;1252:21181;;;;3425:57;;:::i;3202:65::-;3233:34;;-1:-1:-1;3202:65:130;;;;3361:103:31;;;;:::i;:::-;1252:21181:130;;-1:-1:-1;;;;;1252:21181:130;;;11887:23;;11883:79;;12016:11;;12012:70;;1252:21181;12108:10;;;;;;-1:-1:-1;1252:21181:130;;12253:49;;1252:21181;;;;12230:6;;1252:21181;;12187:18;;1252:21181;;-1:-1:-1;;;;;1252:21181:130;;;12187:18;12230:6;:::i;:::-;12253:49;1252:21181;;12264:10;;;;12253:49;;;:::i;:::-;;;;3426:1:31;;;:::i;12120:3:130:-;12156:9;12139:27;1252:21181;12156:9;12149:17;12156:9;;;;;:::i;:::-;1252:21181;12149:17;:::i;12139:27::-;12120:3;1252:21181;12097:9;;12012:70;1252:21181;;-1:-1:-1;;;12050:21:130;;;;;1252:21181;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3547:665::-;3647:27;1252:21181;3639:35;;;3635:87;;3744:23;1252:21181;3736:31;;;;;;1252:21181;3791:83;1252:21181;3790:96;1252:21181;3816:58;3817:35;3791:22;1252:21181;;;3817:35;;:::i;:::-;1252:21181;;;;;3816:58;;:::i;3732:474::-;1252:21181;;3907:19;1252:21181;3907:24;;:55;;;;3732:474;3903:303;;;1252:21181;3985:84;1252:21181;;4007:50;4008:31;3986:71;1252:21181;3986:18;1252:21181;4008:31;;:::i;:::-;1252:21181;;;4007:50;;:::i;:::-;1252:21181;;;;3986:71;:::i;3903:303::-;4108:75;1252:21181;;4107:88;1252:21181;4133:50;4134:27;4108:22;1252:21181;;;4134:27;;:::i;:::-;1252:21181;;;;;4133:50;;:::i;:::-;1252:21181;;;;4108:75;:::i;3907:55::-;3935:27;;;;3907:55;;3635:87;1252:21181;;-1:-1:-1;;;3697:14:130;;;;;1918:274;1252:21181;;2003:22;1252:21181;;;;2003:27;;:72;;;;;1918:274;1999:138;;;;2153:32;1252:21181;1918:274;:::o;1999:138::-;2098:28;1252:21181;2091:35;:::o;2003:72::-;837:15:79;;;819:34;837:15;819:34;:::i;:::-;1252:21181:130;2034:41;2003:72;;;;8340:285;8441:10;1252:21181;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;8432:19;8428:75;;8519:16;1252:21181;;8519:99;;;8441:10;8340:285;:::o;8519:99::-;1616:3:131;8569:12:130;1252:21181;9478:25:74;;;;:::i;:::-;9552;;:29;;1252:21181:130;;;;;;;8340:285;:::o;8428:75::-;1252:21181;;-1:-1:-1;;;8474:18:130;;;;;7413:227;;7553:34;7413:227;1252:21181;-1:-1:-1;1252:21181:130;7553:18;1252:21181;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;;;;;;;7553:34;1252:21181;;-1:-1:-1;1252:21181:130;7589:11;1252:21181;;;-1:-1:-1;1252:21181:130;;7609:16;1252:21181;;;-1:-1:-1;1252:21181:130;;;1884:1:118;1252:21181:130;;;;;;;1884:1:118;1252:21181:130;;;;;;;9478:25:74;;;:::i;3470:384:31:-;-1:-1:-1;;;;;;;;;;;1991:1:31;1252:21181:130;;3670:20:31;3666:88;;1991:1;1252:21181:130;;3470:384:31:o;3666:88::-;1252:21181:130;;-1:-1:-1;;;3713:30:31;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21181:130;3860:283:31:o;21005:960:130:-;21184:10;1252:21181;;;;6047:15;1252:21181;;;;;;21005:960;;;819:34:79;837:15;819:34;:::i;:::-;21184:10:130;1252:21181;;;;6047:15;1252:21181;;;;;6047:33;;;:::i;:::-;1252:21181;;;;;;;;;21168:93;21884:74;21168:93;;;21709:30;21168:93;;:::i;:::-;837:15:79;;21271:67:130;819:34:79;837:15;819:34;:::i;:::-;21308:29:130;5272:22;;;:::i;21271:67::-;837:15:79;;21348:68:130;819:34:79;837:15;819:34;:::i;:::-;21384:31:130;5628:21;;;:::i;21348:68::-;837:15:79;;21818:34:130;837:15:79;21818:25:130;21443:18;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;21443:18;:::i;:::-;21775:33;21494:18;;1252:21181;;13941:11;1252:21181;;;;;;;21494:18;1252:21181;21551:23;;1252:21181;;21551:16;1252:21181;;;;;;;21551:23;1252:21181;390:70:118;;;;;:::i;:::-;21709:30:130;;;;;;:::i;:::-;21688:18;;1252:21181;;13941:11;1252:21181;;;;;;;21688:18;1252:21181;21775:33;:::i;:::-;21749:23;;1252:21181;;21551:16;1252:21181;;;;;;;21749:23;1252:21181;;;21818:18;1252:21181;;;;;;;21818:25;1252:21181;;;;;;;;;;;;;;;;21818:34;:50;1252:21181;;;21818:50;:::i;:::-;1252:21181;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;21184:10;;1252:21181;;21884:74;21005:960::o;1252:21181::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:117:-;;1252:21181:130;;7686:17:117;7682:83;;1252:21181:130;7789:27:117;1252:21181:130;7789:27:117;1252:21181:130;;7789:27:117;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21181:130;;;;;;;;;;;;;;;;7888:22:117;;;7884:77;;7975:21;-1:-1:-1;7975:84:117;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:21181:130;8075:24:117;:::o;7975:84::-;1252:21181:130;;;8009:16:117;5098:13:130;1252:21181;8009:16:117;:::i;:::-;1252:21181:130;;;8001:24:117;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:21181:130;;;;;8029:29:117;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21181:130;7926:24:117;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21181:130;;7686:17:117;7682:83;;1252:21181:130;7789:27:117;1252:21181:130;7789:27:117;1252:21181:130;;7789:27:117;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21181:130;;;;;;;;;;;;;;;;7888:22:117;;;7884:77;;7975:21;-1:-1:-1;7975:84:117;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21181:130;;;8009:16:117;5456:12:130;1252:21181;8009:16:117;:::i;:::-;1252:21181:130;;;8001:24:117;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:29::-;;8001:57;;;;7682:83;7726:28;;;;:::i;7558:604::-;;1252:21181:130;;7686:17:117;7682:83;;1252:21181:130;7789:27:117;1252:21181:130;7789:27:117;1252:21181:130;;7789:27:117;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21181:130;;;;;;;;;;;;;;;;7888:22:117;;;7884:77;;7975:21;-1:-1:-1;7975:84:117;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:21181:130;8075:24:117;:::o;7975:84::-;1252:21181:130;;;8009:16:117;1252:21181:130;;8009:16:117;:::i;:::-;1252:21181:130;;;8001:24:117;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:29::-;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;1252:21181:130;7926:24:117;:::o;7682:83::-;7726:28;;;;:::i;4148:103:24:-;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;466:39:131;;1252:21181:130;;3901:31:24;1252:21181:130;;4468:23:24;4464:108;;4148:103;:::o;:::-;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;757:38:131;;1252:21181:130;;3901:31:24;1252:21181:130;4148:103:24;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;1041:36:131;;1252:21181:130;;3901:31:24;1252:21181:130;4148:103:24;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;1187:40:131;;1252:21181:130;;3901:31:24;1252:21181:130;4148:103:24;966:10:29;-1:-1:-1;1252:21181:130;;;;;;;;;612:37:131;;1252:21181:130;;3901:31:24;1252:21181:130;4148:103:24;-1:-1:-1;1252:21181:130;;;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;966:10:29;1252:21181:130;;;;;;;;;3901:31:24;1252:21181:130;7270:387:24;-1:-1:-1;1252:21181:130;;;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;-1:-1:-1;;1252:21181:130;7509:4:24;1252:21181:130;;;966:10:29;;-1:-1:-1;;;;;1252:21181:130;;7532:40:24;-1:-1:-1;;7532:40:24;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:24;:::o;7892:388::-;-1:-1:-1;1252:21181:130;;;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;1252:21181:130;;;;;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;966:10:29;;-1:-1:-1;;;;;1252:21181:130;;8155:40:24;-1:-1:-1;;8155:40:24;1252:21181:130;8209:11:24;:::o;1670:188:59:-;1252:21181:130;;-1:-1:-1;;;1797:53:59;;;;-1:-1:-1;;;;;1252:21181:130;;;1797:53:59;;;1252:21181:130;;;;;;;;;;;;;;;;;1797:53:59;;;1252:21181:130;;;;;;;-1:-1:-1;;;;;1252:21181:130;;;;;1797:53:59;1252:21181:130;;;1797:53:59;:::i;1252:21181:130:-;7178:12:117;1252:21181:130;;;;;;7178:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;-1:-1:-1;1252:21181:130;:::o;:::-;7178:12:117;1252:21181:130;;;;;;7178:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;-1:-1:-1;1252:21181:130;:::o;:::-;;;;;;;;-1:-1:-1;1252:21181:130;;-1:-1:-1;1252:21181:130;;;-1:-1:-1;1252:21181:130;:::o;:::-;6360:12:117;1252:21181:130;-1:-1:-1;;;1252:21181:130;;;;;;;;;6360:12:117;1252:21181:130;;;;;;6360:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;:::o;:::-;6360:12:117;1252:21181:130;-1:-1:-1;;;1252:21181:130;;;;;;;;;6360:12:117;1252:21181:130;;;;;;6360:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;:::o;:::-;;;;;-1:-1:-1;;;1252:21181:130;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:117;;;;6360:12;1252:21181:130;;;6360:24:117;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21181:130;;;;;;6578:12:117;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:117;;;-1:-1:-1;;;1252:21181:130;;;;;;;;;-1:-1:-1;1252:21181:130;;;-1:-1:-1;1252:21181:130;;;;;;6798:25:117;1252:21181:130;6246:584:117:o;6600:188::-;8310:38:77;;-1:-1:-1;;;;;1252:21181:130;;-1:-1:-1;8310:38:77;:::i;:::-;6753:24:117;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21181:130;;;;;;6614:14:117;;-1:-1:-1;6604:24:117;;;6356:75;-1:-1:-1;;;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;1252:21181:130;;;;-1:-1:-1;;;;;;;;;;;1252:21181:130;;6356:75:117;;;6246:584;;;;6360:12;1252:21181:130;;;6360:24:117;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21181:130;;;;;;6578:12:117;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:117;;;-1:-1:-1;;;1252:21181:130;;;;;;;;;-1:-1:-1;1252:21181:130;;;-1:-1:-1;1252:21181:130;;;;;;6798:25:117;1252:21181:130;6246:584:117:o;6600:188::-;8310:38:77;;-1:-1:-1;;;;;1252:21181:130;;-1:-1:-1;8310:38:77;:::i;:::-;6753:24:117;;;;;:::i;6604:::-;1252:21181:130;;;;;;6614:14:117;;-1:-1:-1;6604:24:117;;;6356:75;-1:-1:-1;;;1252:21181:130;;;;;;;;;;;;;;;;-1:-1:-1;1252:21181:130;;;;-1:-1:-1;;;;;;;;;;;1252:21181:130;;6356:75:117;;;6246:584;;;;;6360:12;;;1252:21181:130;;;6360:24:117;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21181:130;;;;;;6578:12:117;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:117;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;6644:21:117;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21181:130;;8310:38:77;;-1:-1:-1;;;;;1252:21181:130;;;;;8310:38:77;:::i;:::-;6753:24:117;;;:::i;6604:::-;1252:21181:130;;;;;;6614:14:117;;-1:-1:-1;6604:24:117;;;6356:75;-1:-1:-1;;;1252:21181:130;;;;;;6360:12:117;1252:21181:130;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:117;;;1271:160:59;1252:21181:130;;-1:-1:-1;;;1380:43:59;;;;-1:-1:-1;;;;;1252:21181:130;;;1380:43:59;;;1252:21181:130;;;;;;;;;1380:43:59;;;1252:21181:130;;;;-1:-1:-1;;;;;1252:21181:130;;;;;;;;1380:43:59;1252:21181:130;;;1380:43:59;:::i;1252:21181:130:-;;;;;;;:::o;4996:4226:74:-;;1252:21181:130;;;;-1:-1:-1;;4996:4226:74;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1616:3:131;6270:20:74;;;;;6266:143;;1252:21181:130;6695:300:74;;;;;;;;1252:21181:130;;6695:300:74;;7259:375;;7700:21;1252:21181:130;4996:4226:74;:::o;6266:143::-;1829:135:64;;;940:4;1829:135;;;;;5792:368:74;1252:21181:130;;1616:3:131;1252:21181:130;;;6119:26:74;:::o;4996:4226::-;;1252:21181:130;;;;-1:-1:-1;;1252:21181:130;4996:4226:74;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:64;-1:-1:-1;940:4:64;7214:31:74;;7259:375;;;8094:1;1252:21181:130;;8075:1:74;1252:21181:130;8074:21:74;1252:21181:130;;;940:4:64;;1252:21181:130;;;;940:4:64;;1252:21181:130;;;;940:4:64;;1252:21181:130;;;;940:4:64;;1252:21181:130;;;;940:4:64;;1252:21181:130;;;;940:4:64;;1252:21181:130;7259:375:74;;;;-1:-1:-1;7259:375:74;;;6695:300;;;;;;1252:21181:130;6695:300:74;;7259:375;7700:21;1252:21181:130;4996:4226:74;:::o;6266:143::-;6330:16;;3066:5;1252:21181:130;940:4:64;3060:42:74;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;21971:460:130:-;;4331:25;819:34:79;837:15;819:34;:::i;4331:25:130:-;22064:23;;;22060:75;;1252:21181;22149:39;:27;;1252:21181;;22149:20;1252:21181;;;;;;;22149:27;22177:10;1252:21181;;;;;;;;;;;;;;22149:39;1252:21181;;22145:93;;22257:32;22177:10;22257:32;;:::i;:::-;22304:11;;;22300:68;;22378:39;22177:10;22378:27;22177:10;22378:27;1252:21181;;22149:20;1252:21181;;;;;;;22378:39;1252:21181;;-1:-1:-1;;1252:21181:130;22420:4;1252:21181;;;21971:460::o;22300:68::-;1252:21181;;-1:-1:-1;;;22338:19:130;;;;;22145:93;1252:21181;;-1:-1:-1;;;22211:16:130;;;;;14296:213:75;1252:21181:130;14374:24:75;;;;14370:103;;1252:21181:130;14296:213:75;:::o;14370:103::-;1252:21181:130;;;;14421:41:75;;;;;;14452:2;14421:41;;;1252:21181:130;;;;;14421:41:75;10580:184:117;5628:12:130;1252:21181;10446:8:77;;;:63;-1:-1:-1;10446:63:77;-1:-1:-1;;;;;1252:21181:130;;10726:7:117;1252:21181:130;;10736:12:117;1252:21181:130;;;;;;10736:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;10580:184:117;:::o;10446:63:77:-;1252:21181:130;;;;;;;;5628:12;-1:-1:-1;14439:109:77;;;1252:21181:130;;;10446:63:77;;10580:184:117;5272:13:130;1252:21181;10446:8:77;;;:63;-1:-1:-1;10446:63:77;-1:-1:-1;;;;;1252:21181:130;;10726:7:117;1252:21181:130;;10736:12:117;1252:21181:130;;;;;;10736:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;10580:184:117;:::o;10446:63:77:-;1252:21181:130;;;;;;;;5272:13;-1:-1:-1;14439:109:77;;;1252:21181:130;;;10446:63:77;;10580:184:117;1252:21181:130;;10446:8:77;;;:63;-1:-1:-1;10446:63:77;-1:-1:-1;;;;;1252:21181:130;;10726:7:117;1252:21181:130;;10736:12:117;:17;:12;;:17;:::i;:::-;1252:21181:130;;;;;;10580:184:117;:::o;10726:31::-;;;-1:-1:-1;10580:184:117;:::o;10446:63:77:-;1252:21181:130;;;;;;;;;;14439:109:77;-1:-1:-1;14439:109:77;;-1:-1:-1;14439:109:77;;;1252:21181:130;;;10446:63:77;;1662:280:118;;;1884:1;1252:21181:130;;;;;;;1884:1:118;1252:21181:130;;;;;;;9478:25:74;;;:::i;6999:207:117:-;5098:13:130;1252:21181;9737:15:77;-1:-1:-1;9762:18:77;9795:7;9801:1;9795:7;;9791:234;;6999:207:117;10049:53:77;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:77;-1:-1:-1;;;;;1252:21181:130;;7168:7:117;1252:21181:130;;7178:17:117;1252:21181:130;7178:17:117;;:::i;10120:63:77:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5098:13:130;14439:109:77;;-1:-1:-1;;;;;;;;;;;14439:109:77;14289:265;;10135:41;1252:21181:130;;;;;10135:48:77;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21181:130;;;;;;;10049:53:77;14439:109;5098:13:130;-1:-1:-1;14439:109:77;1252:21181:130;14439:109:77;;-1:-1:-1;;;;;;;;;;;14439:109:77;1252:21181:130;;;;;9870:48:77;9866:149;1252:21181:130;;;9938:10:77;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:117;5456:12:130;1252:21181;9737:15:77;-1:-1:-1;9762:18:77;9795:7;9801:1;9795:7;;9791:234;;6999:207:117;10049:53:77;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:77;-1:-1:-1;;;;;1252:21181:130;;7168:7:117;1252:21181:130;;7178:17:117;1252:21181:130;7178:17:117;;:::i;10120:63:77:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5456:12:130;14439:109:77;;-1:-1:-1;;;;;;;;;;;14439:109:77;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21181:130;;;;;;;10049:53:77;14439:109;5456:12:130;-1:-1:-1;14439:109:77;1252:21181:130;14439:109:77;;-1:-1:-1;;;;;;;;;;;14439:109:77;1252:21181:130;;;;;9870:48:77;9866:149;1252:21181:130;;;9938:10:77;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:117;;1252:21181:130;;9737:15:77;-1:-1:-1;9762:18:77;9795:7;9801:1;9795:7;;9791:234;;6999:207:117;10049:53:77;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:77;;-1:-1:-1;;;;;1252:21181:130;;7168:7:117;1252:21181:130;;;7178:12:117;;:17;:12;;:17;:::i;10120:63:77:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:48;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;1252:21181:130;;;;;;;10049:53:77;14439:109;;-1:-1:-1;14439:109:77;1252:21181:130;14439:109:77;;;-1:-1:-1;14439:109:77;;1252:21181:130;;;;;9870:48:77;9866:149;1252:21181:130;;;9938:10:77;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21181:130;;;;;;;:::i;:::-;-1:-1:-1;1252:21181:130;;;;;;;:::o;11486:272:117:-;1252:21181:130;;:::i;:::-;;;;:::i;:::-;;5098:13;1252:21181;;;;;;5098:13;-1:-1:-1;1252:21181:130;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;;;;;;;;;;11718:12:117;1252:21181:130;;;;;;11718:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;:::i;:::-;;;;11672:79:117;;1252:21181:130;11486:272:117;:::o;:::-;1252:21181:130;;:::i;:::-;;;;:::i;:::-;;5456:12;1252:21181;;;;;;5456:12;-1:-1:-1;1252:21181:130;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;;;;;;;;;;11718:12:117;1252:21181:130;;;;;;11718:12:117;-1:-1:-1;1252:21181:130;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;;;;;:::i;11486:272:117:-;;1252:21181:130;11718:12:117;11452:22:77;11718:31:117;11486:272;1252:21181:130;;:::i;:::-;;;;:::i;:::-;;11452:22:77;;:::i;:::-;1252:21181:130;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:117;:31;:::i;:::-;1252:21181:130;;;;;;;;;:::i;:::-;;;;;;;11672:79:117;;1252:21181:130;11486:272:117;:::o;7738:720:59:-;;-1:-1:-1;7875:421:59;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:59;;8310:15;;-1:-1:-1;;;;;;1252:21181:130;;8328:26:59;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21181:130;;-1:-1:-1;;;8401:40:59;;-1:-1:-1;;;;;1252:21181:130;;;8401:40:59;;;1252:21181:130;;;8401:40:59;8310:68;8377:1;8362:16;;8310:68;;1258:280:118;;;1252:21181:130;;;;;;;;;;;;;;;;9478:25:74;;;;;:::i;:::-;9552;;;;;;:29;;1252:21181:130;;;;;;;1258:280:118;:::o;10695:389:77:-;5628:12:130;1252:21181;10871:8:77;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21181:130;;;;;;;;5628:12;10833:17:77;14439:109;;;1252:21181:130;11014:1:77;;1252:21181:130;;;;;;;11030:37:77:o;10695:389::-;5272:13:130;1252:21181;10871:8:77;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21181:130;;;;;;;;5272:13;10833:17:77;14439:109;;;1252:21181:130;11014:1:77;;1252:21181:130;;;;;;;11030:37:77:o;10695:389::-;1252:21181:130;;10871:8:77;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21181:130;;;;;;;;;;10833:17:77;14439:109;;10833:17;14439:109;;;1252:21181:130;11014:1:77;1252:21181:130;;;;;;;11030:37:77;:::o;1776:194:64:-;1829:135;;;;;;;;1252:21181:130;5628:12;1252:21181;;-1:-1:-1;;;1252:21181:130;;;;;;;;;5628:12;1252:21181;;;;;;5628:12;-1:-1:-1;1252:21181:130;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;:::o;:::-;5272:13;1252:21181;;-1:-1:-1;;;1252:21181:130;;;;;;;;;5272:13;1252:21181;;;;;;5272:13;-1:-1:-1;1252:21181:130;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21181:130;;;;:::o;:::-;;;-1:-1:-1;;;1252:21181:130;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21181:130;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:77;5628:12:130;1252:21181;11657:922:77;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21181:130;;;;;;;;;;;;12103:13:77;;;12099:89;;12251:14;;;;;12285:19;;;1252:21181:130;;;;;;;;;;;;;;;;;12285:19:77;1252:21181:130;;12423:25:77;;:::o;12247:163::-;1252:21181:130;;12343:52:77;1252:21181:130;12353:41:77;1252:21181:130;;:::i;:::-;;;;;;;;12353:41:77;-1:-1:-1;;;;;1252:21181:130;;12353:41:77;;;1252:21181:130;12343:52:77;:::i;:::-;12247:163;;12099:89;1252:21181:130;;-1:-1:-1;;;12143:30:77;;;;;11860:713;1252:21181:130;12479:52:77;1252:21181:130;12489:41:77;1252:21181:130;;:::i;12489:41:77:-;-1:-1:-1;;;;;1252:21181:130;;12489:41:77;;;1252:21181:130;12343:52:77;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5272:13:130;1252:21181;11657:922:77;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21181:130;;;;;;;;;;;;12103:13:77;;;12099:89;;12251:14;;;;;12285:19;;;1252:21181:130;;;;;;;;;;;;;;;;;12247:163:77;1252:21181:130;;12343:52:77;1252:21181:130;12353:41:77;1252:21181:130;;:::i;12353:41:77:-;-1:-1:-1;;;;;1252:21181:130;;12353:41:77;;;1252:21181:130;12343:52:77;:::i;11860:713::-;1252:21181:130;12479:52:77;1252:21181:130;12489:41:77;1252:21181:130;;:::i;12489:41:77:-;-1:-1:-1;;;;;1252:21181:130;;12489:41:77;;;1252:21181:130;12343:52:77;:::i;11657:922::-;1252:21181:130;;11657:922:77;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21181:130;;;;;;;;;;;;12103:13:77;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21181:130;;;;;;;;;;;;;;;;;12247:163:77;1252:21181:130;;;12343:52:77;1252:21181:130;12353:41:77;1252:21181:130;;:::i;:::-;;;;;;;;12353:41:77;-1:-1:-1;;;;;1252:21181:130;;12353:41:77;;;1252:21181:130;12343:52:77;:::i;11860:713::-;1252:21181:130;;12479:52:77;1252:21181:130;12489:41:77;1252:21181:130;;:::i;12489:41:77:-;-1:-1:-1;;;;;1252:21181:130;;12489:41:77;;;1252:21181:130;12343:52:77;:::i;18080:5181:74:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:74;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:74;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;1252:21181:130;18246:1:74;1252:21181:130;22284:6:74;;;;:::i;:::-;1252:21181:130;;;;;22278:18:74;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;1252:21181:130;23216:28:74;940:4:64;;18080:5181:74;:::o;19887:61::-;18246:1;1252:21181:130;19887:61:74;;19787:87;1252:21181:130;;;;;19787:87:74;;;19687;1252:21181:130;;;;;19687:87:74;;;19585:89;1252:21181:130;;;;;19585:89:74;;;19482:90;1252:21181:130;;;;;19482:90:74;;;19379;1252:21181:130;;;;;19379:90:74;;;19274:92;-1:-1:-1;;;;1252:21181:130;-1:-1:-1;1252:21181:130;;;;19274:92:74;;12929:433:77;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:74;;;;;1252:21181:130;;3731:5:74;;;1252:21181:130;;;;;;;;;5098:13;-1:-1:-1;14439:109:77;1252:21181:130;14439:109:77;;-1:-1:-1;;;;;;;;;;;14439:109:77;1252:21181:130;;;;;-1:-1:-1;13189:136:77;1252:21181:130;;;13248:10:77;;13189:136;;13105:230;;;13189:136;1252:21181:130;;;;;;;;;;;13189:136:77;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:74;;;;;1252:21181:130;;3731:5:74;;;1252:21181:130;;;;;;;;;5456:12;-1:-1:-1;14439:109:77;1252:21181:130;14439:109:77;;-1:-1:-1;;;;;;;;;;;14439:109:77;1252:21181:130;;;;;-1:-1:-1;13189:136:77;1252:21181:130;;;13248:10:77;;13189:136;;13105:230;;;13189:136;1252:21181:130;;;;;;;;;;;13189:136:77;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:74;;;;;;1252:21181:130;;3731:5:74;;;1252:21181:130;;;;;;;;;14439:109:77;-1:-1:-1;14439:109:77;1252:21181:130;14439:109:77;;;-1:-1:-1;14439:109:77;;1252:21181:130;;;;;-1:-1:-1;13189:136:77;1252:21181:130;;;13248:10:77;;13189:136;;13105:230;;;;13189:136;1252:21181:130;;;;;;;;;;;13189:136:77;;", - "linkReferences": {}, - "immutableReferences": { - "81311": [ - { "start": 5268, "length": 32 }, - { "start": 6490, "length": 32 } - ], - "81314": [ - { "start": 7689, "length": 32 }, - { "start": 9096, "length": 32 } - ] - } - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "DELEGATOR_FACTORY()": "6da3e06d", - "DEPOSITOR_WHITELIST_ROLE()": "1b66c9e1", - "DEPOSIT_LIMIT_SET_ROLE()": "a21a1df9", - "DEPOSIT_WHITELIST_SET_ROLE()": "db388715", - "EPOCH_DURATION_SET_ROLE()": "61819dd8", - "FLASH_FEE_BASE()": "ecc98f05", - "FLASH_FEE_RATE_SET_ROLE()": "bc46f722", - "FLASH_FEE_RECEIVER_SET_ROLE()": "31d9736c", - "FLASH_LOAN_ENABLED_SET_ROLE()": "a66b3a73", - "IS_DEPOSIT_LIMIT_SET_ROLE()": "1415519b", - "RETURN_VALUE()": "653b04cd", - "SLASHER_FACTORY()": "87df0788", - "_epochDuration()": "2fa27fae", - "_epochDurationInit()": "9f9962dd", - "_epochDurationInitIndex()": "9b4bae3e", - "_epochDurationSetEpochsDelay()": "bba6ff4a", - "_nextEpochDuration()": "c1bc6f51", - "_nextEpochDurationInit()": "cc52aee7", - "_nextEpochDurationSetEpochsDelay()": "c4db46fc", - "_nextEpochInitIndex()": "2749f9c4", - "_prevEpochDuration()": "5a36aa74", - "_prevEpochDurationInit()": "6e0f2455", - "_prevEpochDurationInitIndex()": "98ccba4a", - "activeBalanceOf(address)": "59f769a9", - "activeBalanceOfAt(address,uint48,bytes)": "efb559d6", - "activeShares()": "bfefcd7b", - "activeSharesAt(uint48,bytes)": "50f22068", - "activeSharesOf(address)": "9d66201b", - "activeSharesOfAt(address,uint48,bytes)": "2d73c69c", - "activeStake()": "bd49c35f", - "activeStakeAt(uint48,bytes)": "810da75d", - "burner()": "27810b6e", - "claim(address,uint256)": "aad3ec96", - "claimBatch(address,uint256[])": "7c04c80a", - "collateral()": "d8dfeb45", - "currentEpoch()": "76671808", - "currentEpochStart()": "61a8c8c4", - "delegator()": "ce9b7930", - "deposit(address,uint256)": "47e7ef24", - "depositLimit()": "ecf70858", - "depositWhitelist()": "48d3b775", - "epochAt(uint48)": "7953b33b", - "epochDuration()": "4ff0876a", - "epochDurationInit()": "46361671", - "epochDurationSetEpochsDelay()": "c642b050", - "epochStart(uint256)": "aa9354a3", - "flashFee(address,uint256)": "d9d98ce4", - "flashFeeRate()": "e945da7f", - "flashFeeReceiver()": "a8b24f9a", - "flashLoan(address,address,uint256,bytes)": "5cffe9de", - "flashLoanEnabled()": "65d61c6c", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "isDelegatorInitialized()": "50861adc", - "isDepositLimit()": "a1b12202", - "isDepositorWhitelisted(address)": "794b15b7", - "isInitialized()": "392e53cd", - "isSlasherInitialized()": "6ec1e3f8", - "isWithdrawalsClaimed(uint256,address)": "a5d03223", - "maxFlashLoan(address)": "613255ab", - "nextEpochStart()": "73790ab3", - "onSlash(uint256,uint48)": "7278e31c", - "previousEpochStart()": "281f5752", - "redeem(address,uint256)": "1e9a6950", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "setDelegator(address)": "83cd9cc3", - "setDepositLimit(uint256)": "bdc8144b", - "setDepositWhitelist(bool)": "4105a7dd", - "setDepositorWhitelistStatus(address,bool)": "a2861466", - "setEpochDuration(uint48,uint256)": "83f46c2c", - "setFlashFeeRate(uint256)": "d626811b", - "setFlashFeeReceiver(address)": "52741a40", - "setFlashloanEnabled(bool)": "859b9344", - "setIsDepositLimit(bool)": "5346e34f", - "setSlasher(address)": "aabc2496", - "slashableBalanceOf(address)": "c31e8dd7", - "slasher()": "b1344271", - "staticDelegateCall(address,bytes)": "9f86fd85", - "supportsInterface(bytes4)": "01ffc9a7", - "totalStake()": "8b0e9f3f", - "withdraw(address,uint256)": "f3fef3a3", - "withdrawalShares(uint256)": "afba70ad", - "withdrawalSharesOf(uint256,address)": "a3b54172", - "withdrawals(uint256)": "5cc07076", - "withdrawalsOf(uint256,address)": "f5e7ee0f" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatorFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasherFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientRedemption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientWithdrawal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidClaimer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNewEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReturnAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxLoanExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewEpochDurationNotReady\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooLowFlashLoanValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"name\":\"OnSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"SetDelegator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"SetDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositorWhitelistStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"epochDuration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay\",\"type\":\"uint256\"}],\"name\":\"SetEpochDuration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"flashFeeRate\",\"type\":\"uint256\"}],\"name\":\"SetFlashFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"flashFeeReceiver\",\"type\":\"address\"}],\"name\":\"SetFlashFeeReceiver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetFlashloanEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetIsDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"}],\"name\":\"SetSlasher\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DELEGATOR_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"activeBalanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeStakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"}],\"name\":\"claimBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"epochAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"epochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"onSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"previousEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator_\",\"type\":\"address\"}],\"name\":\"setDelegator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"setDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositorWhitelistStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"epochDuration_\",\"type\":\"uint48\"},{\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay_\",\"type\":\"uint256\"}],\"name\":\"setEpochDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"flashFeeRate_\",\"type\":\"uint256\"}],\"name\":\"setFlashFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"flashFeeReceiver_\",\"type\":\"address\"}],\"name\":\"setFlashFeeReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setFlashloanEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setIsDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher_\",\"type\":\"address\"}],\"name\":\"setSlasher\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"slashableBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"Claim(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epoch\":\"epoch the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"ClaimBatch(address,address,uint256[],uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epochs\":\"epochs the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral deposited\",\"depositor\":\"account that made the deposit\",\"onBehalfOf\":\"account the deposit was made on behalf of\",\"shares\":\"amount of the active shares minted\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(uint256,uint48,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to slash\",\"captureTimestamp\":\"time point when the stake was captured\",\"slashedAmount\":\"real amount of the collateral slashed\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"SetDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"SetDepositLimit(uint256)\":{\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"SetDepositWhitelist(bool)\":{\"params\":{\"status\":\"if enabled deposit whitelist\"}},\"SetDepositorWhitelistStatus(address,bool)\":{\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisted the account\"}},\"SetEpochDuration(uint48,uint256)\":{\"params\":{\"epochDuration\":\"epoch duration\",\"epochDurationSetEpochsDelay\":\"delay for the epoch duration set in epochs\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"SetFlashloanEnabled(bool)\":{\"params\":{\"status\":\"if enabled flash loan\"}},\"SetIsDepositLimit(bool)\":{\"params\":{\"status\":\"if enabled deposit limit\"}},\"SetSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral withdrawn\",\"burnedShares\":\"amount of the active shares burned\",\"claimer\":\"account that needs to claim the withdrawal\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawer\":\"account that made the withdrawal\"}}},\"kind\":\"dev\",\"methods\":{\"activeBalanceOf(address)\":{\"params\":{\"account\":\"account to get the active balance for\"},\"returns\":{\"_0\":\"active balance for the account\"}},\"activeBalanceOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the active balance for\",\"hints\":\"hints for checkpoints' indexes\",\"timestamp\":\"time point to get the active balance for the account at\"},\"returns\":{\"_0\":\"active balance for the account at the timestamp\"}},\"activeShares()\":{\"returns\":{\"_0\":\"total number of active shares\"}},\"activeSharesAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total number of active shares at\"},\"returns\":{\"_0\":\"total number of active shares at the timestamp\"}},\"activeSharesOf(address)\":{\"params\":{\"account\":\"account to get the number of active shares for\"},\"returns\":{\"_0\":\"number of active shares for the account\"}},\"activeSharesOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the number of active shares for\",\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the number of active shares for the account at\"},\"returns\":{\"_0\":\"number of active shares for the account at the timestamp\"}},\"activeStake()\":{\"returns\":{\"_0\":\"total amount of active stake\"}},\"activeStakeAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total active stake at\"},\"returns\":{\"_0\":\"total amount of active stake at the timestamp\"}},\"claim(address,uint256)\":{\"params\":{\"epoch\":\"epoch to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"claimBatch(address,uint256[])\":{\"params\":{\"epochs\":\"epochs to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"currentEpoch()\":{\"returns\":{\"_0\":\"current epoch\"}},\"currentEpochStart()\":{\"returns\":{\"_0\":\"start of the current epoch\"}},\"deposit(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to deposit\",\"onBehalfOf\":\"account the deposit is made on behalf of\"},\"returns\":{\"depositedAmount\":\"real amount of the collateral deposited\",\"mintedShares\":\"amount of the active shares minted\"}},\"epochAt(uint48)\":{\"details\":\"Reverts if the timestamp is less than the start of the epoch 0.\",\"params\":{\"timestamp\":\"time point to get the epoch at\"},\"returns\":{\"_0\":\"epoch at the timestamp\"}},\"epochDuration()\":{\"returns\":{\"_0\":\"duration of the epoch\"}},\"epochDurationInit()\":{\"returns\":{\"_0\":\"time point of the epoch duration set\"}},\"epochDurationSetEpochsDelay()\":{\"returns\":{\"_0\":\"delay for the epoch duration set\"}},\"epochStart(uint256)\":{\"params\":{\"epoch\":\"epoch to get the start of\"},\"returns\":{\"_0\":\"start of the epoch\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lended.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"nextEpochStart()\":{\"returns\":{\"_0\":\"start of the next epoch\"}},\"onSlash(uint256,uint48)\":{\"details\":\"Only the slasher can call this function.\",\"params\":{\"amount\":\"amount to slash\",\"captureTimestamp\":\"time point when the stake was captured\"},\"returns\":{\"slashedAmount\":\"real amount of the collateral slashed\"}},\"previousEpochStart()\":{\"details\":\"Reverts if the current epoch is 0.\",\"returns\":{\"_0\":\"start of the previous epoch\"}},\"redeem(address,uint256)\":{\"params\":{\"claimer\":\"account that needs to claim the withdrawal\",\"shares\":\"amount of the active shares to redeem\"},\"returns\":{\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawnAssets\":\"amount of the collateral withdrawn\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"setDepositLimit(uint256)\":{\"details\":\"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"setDepositWhitelist(bool)\":{\"details\":\"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit whitelist\"}},\"setDepositorWhitelistStatus(address,bool)\":{\"details\":\"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.\",\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisting the account\"}},\"setEpochDuration(uint48,uint256)\":{\"details\":\"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.\",\"params\":{\"epochDurationSetEpochsDelay_\":\"delay for the epoch duration set in epochs\",\"epochDuration_\":\"epoch duration\"}},\"setFlashFeeRate(uint256)\":{\"details\":\"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeRate_\":\"flash fee rate\"}},\"setFlashFeeReceiver(address)\":{\"details\":\"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeReceiver_\":\"flash fee receiver\"}},\"setFlashloanEnabled(bool)\":{\"details\":\"Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabled flash loan\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"setSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"slashableBalanceOf(address)\":{\"params\":{\"account\":\"account to get the slashable collateral for\"},\"returns\":{\"_0\":\"total amount of the account's slashable collateral\"}},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"totalStake()\":{\"returns\":{\"_0\":\"total amount of the slashable collateral\"}},\"withdraw(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to withdraw\",\"claimer\":\"account that needs to claim the withdrawal\"},\"returns\":{\"burnedShares\":\"amount of the active shares burned\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\"}},\"withdrawalsOf(uint256,address)\":{\"params\":{\"account\":\"account to get the withdrawals for\",\"epoch\":\"epoch to get the withdrawals for the account at\"},\"returns\":{\"_0\":\"withdrawals for the account at the epoch\"}}},\"stateVariables\":{\"DELEGATOR_FACTORY\":{\"return\":\"address of the delegator factory\",\"returns\":{\"_0\":\"address of the delegator factory\"}},\"SLASHER_FACTORY\":{\"return\":\"address of the slasher factory\",\"returns\":{\"_0\":\"address of the slasher factory\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Claim(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a claim is made.\"},\"ClaimBatch(address,address,uint256[],uint256)\":{\"notice\":\"Emitted when a batch claim is made.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a deposit is made.\"},\"OnSlash(uint256,uint48,uint256)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetDelegator(address)\":{\"notice\":\"Emitted when a delegator is set.\"},\"SetDepositLimit(uint256)\":{\"notice\":\"Emitted when a deposit limit is set.\"},\"SetDepositWhitelist(bool)\":{\"notice\":\"Emitted when a deposit whitelist status is enabled/disabled.\"},\"SetDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Emitted when a depositor whitelist status is set.\"},\"SetEpochDuration(uint48,uint256)\":{\"notice\":\"Emitted when a epoch duration is set (can be accepted after `epochDurationSetEpochsDelay` epochs).\"},\"SetFlashFeeRate(uint256)\":{\"notice\":\"Emitted when a flash fee rate is set.\"},\"SetFlashFeeReceiver(address)\":{\"notice\":\"Emitted when a flash fee receiver is set.\"},\"SetFlashloanEnabled(bool)\":{\"notice\":\"Emitted when a flash loan enabled status is set.\"},\"SetIsDepositLimit(bool)\":{\"notice\":\"Emitted when a deposit limit status is enabled/disabled.\"},\"SetSlasher(address)\":{\"notice\":\"Emitted when a slasher is set.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a withdrawal is made.\"}},\"kind\":\"user\",\"methods\":{\"DELEGATOR_FACTORY()\":{\"notice\":\"Get the delegator factory's address.\"},\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"SLASHER_FACTORY()\":{\"notice\":\"Get the slasher factory's address.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"activeBalanceOf(address)\":{\"notice\":\"Get an active balance for a particular account.\"},\"activeBalanceOfAt(address,uint48,bytes)\":{\"notice\":\"Get an active balance for a particular account at a given timestamp using hints.\"},\"activeShares()\":{\"notice\":\"Get a total number of active shares in the vault.\"},\"activeSharesAt(uint48,bytes)\":{\"notice\":\"Get a total number of active shares in the vault at a given timestamp using a hint.\"},\"activeSharesOf(address)\":{\"notice\":\"Get a number of active shares for a particular account.\"},\"activeSharesOfAt(address,uint48,bytes)\":{\"notice\":\"Get a total number of active shares for a particular account at a given timestamp using a hint.\"},\"activeStake()\":{\"notice\":\"Get a total amount of active stake in the vault.\"},\"activeStakeAt(uint48,bytes)\":{\"notice\":\"Get a total amount of active stake in the vault at a given timestamp using a hint.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"claim(address,uint256)\":{\"notice\":\"Claim collateral from the vault.\"},\"claimBatch(address,uint256[])\":{\"notice\":\"Claim collateral from the vault for multiple epochs.\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"currentEpoch()\":{\"notice\":\"Get a current vault epoch.\"},\"currentEpochStart()\":{\"notice\":\"Get a start of the current vault epoch.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"deposit(address,uint256)\":{\"notice\":\"Deposit collateral into the vault.\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"epochAt(uint48)\":{\"notice\":\"Get an epoch at a given timestamp.\"},\"epochDuration()\":{\"notice\":\"Get a duration of the vault epoch.\"},\"epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set.\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochStart(uint256)\":{\"notice\":\"Get a start of the epoch.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isInitialized()\":{\"notice\":\"Check if the vault is fully initialized (a delegator and a slasher are set).\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"previousEpochStart()\":{\"notice\":\"Get a start of the previous vault epoch.\"},\"redeem(address,uint256)\":{\"notice\":\"Redeem collateral from the vault (it will be claimable after the next epoch).\"},\"setDelegator(address)\":{\"notice\":\"Set a delegator.\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setEpochDuration(uint48,uint256)\":{\"notice\":\"Set an epoch duration (can be only greater than the current one).\"},\"setFlashFeeRate(uint256)\":{\"notice\":\"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"setFlashFeeReceiver(address)\":{\"notice\":\"Set a flash fee receiver.\"},\"setFlashloanEnabled(bool)\":{\"notice\":\"Set a flash loan enabled status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"setSlasher(address)\":{\"notice\":\"Set a slasher.\"},\"slashableBalanceOf(address)\":{\"notice\":\"Get a total amount of the collateral that can be slashed for a given account.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"totalStake()\":{\"notice\":\"Get a total amount of the collateral that can be slashed.\"},\"withdraw(address,uint256)\":{\"notice\":\"Withdraw collateral from the vault (it will be claimable after the next epoch).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"},\"withdrawalsOf(uint256,address)\":{\"notice\":\"Get withdrawals for a particular account at a given epoch (zero if claimed).\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultImplementation.sol\":\"VaultImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/v1.1/VaultImplementation.sol\":{\"keccak256\":\"0xaa0afadbdfea21a2a8b7ca31a485b60fbf256bb4e6df551e7c1c675e3869cfe5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://2dfd8a71cf5bd4a13fb7c54696748badb2f1b8e5b0bc1c919bffc03e51015f9a\",\"dweb:/ipfs/QmR9xZAJUGXATp3PZJSwLpQkw81v2fcBhFFmL3669HyJtL\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IRegistry.sol\":{\"keccak256\":\"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014\",\"dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/delegator/IBaseDelegator.sol\":{\"keccak256\":\"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2\",\"dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]}},\"version\":1}", - "metadata": { - "compiler": { "version": "0.8.25+commit.b61c2a91" }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "delegatorFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "slasherFactory", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "type": "error", - "name": "AccessControlBadConfirmation" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { - "internalType": "bytes32", - "name": "neededRole", - "type": "bytes32" - } - ], - "type": "error", - "name": "AccessControlUnauthorizedAccount" - }, - { "inputs": [], "type": "error", "name": "AlreadyClaimed" }, - { "inputs": [], "type": "error", "name": "AlreadySet" }, - { - "inputs": [], - "type": "error", - "name": "CheckpointUnorderedInsertion" - }, - { - "inputs": [], - "type": "error", - "name": "DelegatorAlreadyInitialized" - }, - { "inputs": [], "type": "error", "name": "DepositLimitReached" }, - { "inputs": [], "type": "error", "name": "InsufficientClaim" }, - { "inputs": [], "type": "error", "name": "InsufficientDeposit" }, - { "inputs": [], "type": "error", "name": "InsufficientExitWindow" }, - { "inputs": [], "type": "error", "name": "InsufficientRedemption" }, - { "inputs": [], "type": "error", "name": "InsufficientWithdrawal" }, - { "inputs": [], "type": "error", "name": "InvalidAccount" }, - { "inputs": [], "type": "error", "name": "InvalidCaptureEpoch" }, - { "inputs": [], "type": "error", "name": "InvalidClaimer" }, - { "inputs": [], "type": "error", "name": "InvalidCollateral" }, - { "inputs": [], "type": "error", "name": "InvalidDelegator" }, - { "inputs": [], "type": "error", "name": "InvalidEpoch" }, - { "inputs": [], "type": "error", "name": "InvalidEpochDuration" }, - { - "inputs": [], - "type": "error", - "name": "InvalidEpochDurationSetEpochsDelay" - }, - { "inputs": [], "type": "error", "name": "InvalidFlashParams" }, - { "inputs": [], "type": "error", "name": "InvalidInitialization" }, - { "inputs": [], "type": "error", "name": "InvalidLengthEpochs" }, - { "inputs": [], "type": "error", "name": "InvalidNewEpochDuration" }, - { "inputs": [], "type": "error", "name": "InvalidOnBehalfOf" }, - { "inputs": [], "type": "error", "name": "InvalidOrigin" }, - { "inputs": [], "type": "error", "name": "InvalidReceiver" }, - { "inputs": [], "type": "error", "name": "InvalidRecipient" }, - { "inputs": [], "type": "error", "name": "InvalidReturnAmount" }, - { "inputs": [], "type": "error", "name": "InvalidSlasher" }, - { "inputs": [], "type": "error", "name": "InvalidTimestamp" }, - { "inputs": [], "type": "error", "name": "MaxLoanExceeded" }, - { "inputs": [], "type": "error", "name": "MissingRoles" }, - { "inputs": [], "type": "error", "name": "NewEpochDurationNotReady" }, - { "inputs": [], "type": "error", "name": "NoDepositWhitelist" }, - { "inputs": [], "type": "error", "name": "NoPreviousEpoch" }, - { "inputs": [], "type": "error", "name": "NotDelegator" }, - { "inputs": [], "type": "error", "name": "NotInitializing" }, - { "inputs": [], "type": "error", "name": "NotSlasher" }, - { "inputs": [], "type": "error", "name": "NotWhitelistedDepositor" }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { "internalType": "uint8", "name": "bits", "type": "uint8" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "type": "error", - "name": "SafeCastOverflowedUintDowncast" - }, - { - "inputs": [ - { "internalType": "address", "name": "token", "type": "address" } - ], - "type": "error", - "name": "SafeERC20FailedOperation" - }, - { "inputs": [], "type": "error", "name": "SlasherAlreadyInitialized" }, - { "inputs": [], "type": "error", "name": "TooLowFlashLoanValue" }, - { "inputs": [], "type": "error", "name": "TooMuchRedeem" }, - { "inputs": [], "type": "error", "name": "TooMuchWithdraw" }, - { "inputs": [], "type": "error", "name": "UnsupportedToken" }, - { - "inputs": [ - { - "internalType": "address", - "name": "claimer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "epoch", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Claim", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "claimer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "recipient", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256[]", - "name": "epochs", - "type": "uint256[]", - "indexed": false - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "ClaimBatch", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "depositor", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "onBehalfOf", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "shares", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Deposit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "version", - "type": "uint64", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint48", - "name": "captureTimestamp", - "type": "uint48", - "indexed": false - }, - { - "internalType": "uint256", - "name": "slashedAmount", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "OnSlash", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32", - "indexed": true - } - ], - "type": "event", - "name": "RoleAdminChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleGranted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleRevoked", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegator", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "SetDelegator", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "limit", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SetDepositLimit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "status", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "SetDepositWhitelist", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "bool", - "name": "status", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "SetDepositorWhitelistStatus", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint48", - "name": "epochDuration", - "type": "uint48", - "indexed": false - }, - { - "internalType": "uint256", - "name": "epochDurationSetEpochsDelay", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SetEpochDuration", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "flashFeeRate", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "SetFlashFeeRate", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "flashFeeReceiver", - "type": "address", - "indexed": false - } - ], - "type": "event", - "name": "SetFlashFeeReceiver", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "status", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "SetFlashloanEnabled", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bool", - "name": "status", - "type": "bool", - "indexed": false - } - ], - "type": "event", - "name": "SetIsDepositLimit", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "slasher", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "SetSlasher", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "withdrawer", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "claimer", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "burnedShares", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Withdraw", - "anonymous": false - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DELEGATOR_FACTORY", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_BASE", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "RETURN_VALUE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "SLASHER_FACTORY", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "activeBalanceOf", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint48", "name": "timestamp", "type": "uint48" }, - { "internalType": "bytes", "name": "hints", "type": "bytes" } - ], - "stateMutability": "view", - "type": "function", - "name": "activeBalanceOfAt", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "activeShares", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint48", "name": "timestamp", "type": "uint48" }, - { "internalType": "bytes", "name": "hint", "type": "bytes" } - ], - "stateMutability": "view", - "type": "function", - "name": "activeSharesAt", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "activeSharesOf", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "uint48", "name": "timestamp", "type": "uint48" }, - { "internalType": "bytes", "name": "hint", "type": "bytes" } - ], - "stateMutability": "view", - "type": "function", - "name": "activeSharesOfAt", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "activeStake", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint48", "name": "timestamp", "type": "uint48" }, - { "internalType": "bytes", "name": "hint", "type": "bytes" } - ], - "stateMutability": "view", - "type": "function", - "name": "activeStakeAt", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "burner", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claim", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "recipient", - "type": "address" - }, - { - "internalType": "uint256[]", - "name": "epochs", - "type": "uint256[]" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "claimBatch", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "collateral", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "currentEpoch", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "currentEpochStart", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "delegator", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "onBehalfOf", - "type": "address" - }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "depositedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositLimit", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositWhitelist", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "uint48", "name": "timestamp", "type": "uint48" } - ], - "stateMutability": "view", - "type": "function", - "name": "epochAt", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "epochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "epochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "epochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "epochStart", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "token", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "flashFee", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeRate", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeReceiver", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { - "internalType": "contract IERC3156FlashBorrower", - "name": "receiver", - "type": "address" - }, - { "internalType": "address", "name": "token", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "flashLoan", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashLoanEnabled", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoleAdmin", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "grantRole" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "hasRole", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDelegatorInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDepositLimit", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isDepositorWhitelisted", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isSlasherInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isWithdrawalsClaimed", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "token", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "maxFlashLoan", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "nextEpochStart", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" }, - { - "internalType": "uint48", - "name": "captureTimestamp", - "type": "uint48" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "onSlash", - "outputs": [ - { - "internalType": "uint256", - "name": "slashedAmount", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "previousEpochStart", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "claimer", "type": "address" }, - { "internalType": "uint256", "name": "shares", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawnAssets", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { - "internalType": "address", - "name": "callerConfirmation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceRole" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revokeRole" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegator_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDelegator" - }, - { - "inputs": [ - { "internalType": "uint256", "name": "limit", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDepositLimit" - }, - { - "inputs": [ - { "internalType": "bool", "name": "status", "type": "bool" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDepositWhitelist" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { "internalType": "bool", "name": "status", "type": "bool" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setDepositorWhitelistStatus" - }, - { - "inputs": [ - { - "internalType": "uint48", - "name": "epochDuration_", - "type": "uint48" - }, - { - "internalType": "uint256", - "name": "epochDurationSetEpochsDelay_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setEpochDuration" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "flashFeeRate_", - "type": "uint256" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFlashFeeRate" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "flashFeeReceiver_", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFlashFeeReceiver" - }, - { - "inputs": [ - { "internalType": "bool", "name": "status", "type": "bool" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setFlashloanEnabled" - }, - { - "inputs": [ - { "internalType": "bool", "name": "status", "type": "bool" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setIsDepositLimit" - }, - { - "inputs": [ - { "internalType": "address", "name": "slasher_", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "setSlasher" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "slashableBalanceOf", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "slasher", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "staticDelegateCall" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalStake", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "claimer", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "burnedShares", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalShares", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalSharesOf", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawals", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalsOf", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "activeBalanceOf(address)": { - "params": { "account": "account to get the active balance for" }, - "returns": { "_0": "active balance for the account" } - }, - "activeBalanceOfAt(address,uint48,bytes)": { - "params": { - "account": "account to get the active balance for", - "hints": "hints for checkpoints' indexes", - "timestamp": "time point to get the active balance for the account at" - }, - "returns": { - "_0": "active balance for the account at the timestamp" - } - }, - "activeShares()": { - "returns": { "_0": "total number of active shares" } - }, - "activeSharesAt(uint48,bytes)": { - "params": { - "hint": "hint for the checkpoint index", - "timestamp": "time point to get the total number of active shares at" - }, - "returns": { - "_0": "total number of active shares at the timestamp" - } - }, - "activeSharesOf(address)": { - "params": { - "account": "account to get the number of active shares for" - }, - "returns": { "_0": "number of active shares for the account" } - }, - "activeSharesOfAt(address,uint48,bytes)": { - "params": { - "account": "account to get the number of active shares for", - "hint": "hint for the checkpoint index", - "timestamp": "time point to get the number of active shares for the account at" - }, - "returns": { - "_0": "number of active shares for the account at the timestamp" - } - }, - "activeStake()": { - "returns": { "_0": "total amount of active stake" } - }, - "activeStakeAt(uint48,bytes)": { - "params": { - "hint": "hint for the checkpoint index", - "timestamp": "time point to get the total active stake at" - }, - "returns": { "_0": "total amount of active stake at the timestamp" } - }, - "claim(address,uint256)": { - "params": { - "epoch": "epoch to claim the collateral for", - "recipient": "account that receives the collateral" - }, - "returns": { "amount": "amount of the collateral claimed" } - }, - "claimBatch(address,uint256[])": { - "params": { - "epochs": "epochs to claim the collateral for", - "recipient": "account that receives the collateral" - }, - "returns": { "amount": "amount of the collateral claimed" } - }, - "currentEpoch()": { "returns": { "_0": "current epoch" } }, - "currentEpochStart()": { - "returns": { "_0": "start of the current epoch" } - }, - "deposit(address,uint256)": { - "params": { - "amount": "amount of the collateral to deposit", - "onBehalfOf": "account the deposit is made on behalf of" - }, - "returns": { - "depositedAmount": "real amount of the collateral deposited", - "mintedShares": "amount of the active shares minted" - } - }, - "epochAt(uint48)": { - "details": "Reverts if the timestamp is less than the start of the epoch 0.", - "params": { "timestamp": "time point to get the epoch at" }, - "returns": { "_0": "epoch at the timestamp" } - }, - "epochDuration()": { "returns": { "_0": "duration of the epoch" } }, - "epochDurationInit()": { - "returns": { "_0": "time point of the epoch duration set" } - }, - "epochDurationSetEpochsDelay()": { - "returns": { "_0": "delay for the epoch duration set" } - }, - "epochStart(uint256)": { - "params": { "epoch": "epoch to get the start of" }, - "returns": { "_0": "start of the epoch" } - }, - "flashFee(address,uint256)": { - "details": "The fee to be charged for a given loan.", - "params": { - "amount": "The amount of tokens lent.", - "token": "The loan currency." - }, - "returns": { - "_0": "The amount of `token` to be charged for the loan, on top of the returned principal." - } - }, - "flashLoan(address,address,uint256,bytes)": { - "details": "Initiate a flash loan.", - "params": { - "amount": "The amount of tokens lent.", - "data": "Arbitrary data structure, intended to contain user-defined parameters.", - "receiver": "The receiver of the tokens in the loan, and the receiver of the callback.", - "token": "The loan currency." - } - }, - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "isInitialized()": { - "returns": { "_0": "if the vault is fully initialized" } - }, - "maxFlashLoan(address)": { - "details": "The amount of currency available to be lended.", - "params": { "token": "The loan currency." }, - "returns": { "_0": "The amount of `token` that can be borrowed." } - }, - "nextEpochStart()": { - "returns": { "_0": "start of the next epoch" } - }, - "onSlash(uint256,uint48)": { - "details": "Only the slasher can call this function.", - "params": { - "amount": "amount to slash", - "captureTimestamp": "time point when the stake was captured" - }, - "returns": { - "slashedAmount": "real amount of the collateral slashed" - } - }, - "previousEpochStart()": { - "details": "Reverts if the current epoch is 0.", - "returns": { "_0": "start of the previous epoch" } - }, - "redeem(address,uint256)": { - "params": { - "claimer": "account that needs to claim the withdrawal", - "shares": "amount of the active shares to redeem" - }, - "returns": { - "mintedShares": "amount of the epoch withdrawal shares minted", - "withdrawnAssets": "amount of the collateral withdrawn" - } - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "setDelegator(address)": { - "details": "Can be set only once.", - "params": { - "delegator": "vault's delegator to delegate the stake to networks and operators" - } - }, - "setDepositLimit(uint256)": { - "details": "Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.", - "params": { - "limit": "deposit limit (maximum amount of the collateral that can be in the vault simultaneously)" - } - }, - "setDepositWhitelist(bool)": { - "details": "Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.", - "params": { "status": "if enabling deposit whitelist" } - }, - "setDepositorWhitelistStatus(address,bool)": { - "details": "Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.", - "params": { - "account": "account for which the whitelist status is set", - "status": "if whitelisting the account" - } - }, - "setEpochDuration(uint48,uint256)": { - "details": "Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.", - "params": { - "epochDurationSetEpochsDelay_": "delay for the epoch duration set in epochs", - "epochDuration_": "epoch duration" - } - }, - "setFlashFeeRate(uint256)": { - "details": "Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.", - "params": { "flashFeeRate_": "flash fee rate" } - }, - "setFlashFeeReceiver(address)": { - "details": "Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.", - "params": { "flashFeeReceiver_": "flash fee receiver" } - }, - "setFlashloanEnabled(bool)": { - "details": "Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.", - "params": { "status": "if enabled flash loan" } - }, - "setIsDepositLimit(bool)": { - "details": "Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.", - "params": { "status": "if enabling deposit limit" } - }, - "setSlasher(address)": { - "details": "Can be set only once.", - "params": { - "slasher": "vault's slasher to provide a slashing mechanism to networks" - } - }, - "slashableBalanceOf(address)": { - "params": { - "account": "account to get the slashable collateral for" - }, - "returns": { - "_0": "total amount of the account's slashable collateral" - } - }, - "staticDelegateCall(address,bytes)": { - "details": "It allows to use this contract's storage on-chain.", - "params": { - "data": "data to make a delegatecall with", - "target": "address of the contract to make a delegatecall to" - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "totalStake()": { - "returns": { "_0": "total amount of the slashable collateral" } - }, - "withdraw(address,uint256)": { - "params": { - "amount": "amount of the collateral to withdraw", - "claimer": "account that needs to claim the withdrawal" - }, - "returns": { - "burnedShares": "amount of the active shares burned", - "mintedShares": "amount of the epoch withdrawal shares minted" - } - }, - "withdrawalsOf(uint256,address)": { - "params": { - "account": "account to get the withdrawals for", - "epoch": "epoch to get the withdrawals for the account at" - }, - "returns": { "_0": "withdrawals for the account at the epoch" } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "DELEGATOR_FACTORY()": { - "notice": "Get the delegator factory's address." - }, - "DEPOSITOR_WHITELIST_ROLE()": { - "notice": "Get a depositor whitelist status setter's role." - }, - "DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit setter's role." - }, - "DEPOSIT_WHITELIST_SET_ROLE()": { - "notice": "Get a deposit whitelist enabler/disabler's role." - }, - "EPOCH_DURATION_SET_ROLE()": { - "notice": "Get a epoch duration setter's role." - }, - "FLASH_FEE_BASE()": { "notice": "Get a flash fee base." }, - "FLASH_FEE_RATE_SET_ROLE()": { - "notice": "Get a flash fee rate setter's role." - }, - "FLASH_FEE_RECEIVER_SET_ROLE()": { - "notice": "Get a flash fee receiver setter's role." - }, - "FLASH_LOAN_ENABLED_SET_ROLE()": { - "notice": "Get a flash loan enabled setter's role." - }, - "IS_DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit enabler/disabler's role." - }, - "RETURN_VALUE()": { - "notice": "Get a value that must be returned by the flash loan borrower." - }, - "SLASHER_FACTORY()": { - "notice": "Get the slasher factory's address." - }, - "_epochDuration()": { - "notice": "Get a duration of the epoch (internal)." - }, - "_epochDurationInit()": { - "notice": "Get a time point of the epoch duration set (internal)." - }, - "_epochDurationInitIndex()": { - "notice": "Get the current epoch duration's first epoch (internal)." - }, - "_epochDurationSetEpochsDelay()": { - "notice": "Get a delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochDuration()": { - "notice": "Get a duration of the next epoch (internal)." - }, - "_nextEpochDurationInit()": { - "notice": "Get a time point of the next epoch duration set (internal)." - }, - "_nextEpochDurationSetEpochsDelay()": { - "notice": "Get the next delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochInitIndex()": { - "notice": "Get a the next epoch duration's first epoch (internal)." - }, - "_prevEpochDuration()": { - "notice": "Get a duration of the previous epoch (internal)." - }, - "_prevEpochDurationInit()": { - "notice": "Get a time point of the previous epoch duration set (internal)." - }, - "_prevEpochDurationInitIndex()": { - "notice": "Get a the previous epoch duration's first epoch (internal)." - }, - "activeBalanceOf(address)": { - "notice": "Get an active balance for a particular account." - }, - "activeBalanceOfAt(address,uint48,bytes)": { - "notice": "Get an active balance for a particular account at a given timestamp using hints." - }, - "activeShares()": { - "notice": "Get a total number of active shares in the vault." - }, - "activeSharesAt(uint48,bytes)": { - "notice": "Get a total number of active shares in the vault at a given timestamp using a hint." - }, - "activeSharesOf(address)": { - "notice": "Get a number of active shares for a particular account." - }, - "activeSharesOfAt(address,uint48,bytes)": { - "notice": "Get a total number of active shares for a particular account at a given timestamp using a hint." - }, - "activeStake()": { - "notice": "Get a total amount of active stake in the vault." - }, - "activeStakeAt(uint48,bytes)": { - "notice": "Get a total amount of active stake in the vault at a given timestamp using a hint." - }, - "burner()": { - "notice": "Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)." - }, - "claim(address,uint256)": { - "notice": "Claim collateral from the vault." - }, - "claimBatch(address,uint256[])": { - "notice": "Claim collateral from the vault for multiple epochs." - }, - "collateral()": { "notice": "Get a vault collateral." }, - "currentEpoch()": { "notice": "Get a current vault epoch." }, - "currentEpochStart()": { - "notice": "Get a start of the current vault epoch." - }, - "delegator()": { - "notice": "Get a delegator (it delegates the vault's stake to networks and operators)." - }, - "deposit(address,uint256)": { - "notice": "Deposit collateral into the vault." - }, - "depositLimit()": { - "notice": "Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)." - }, - "depositWhitelist()": { - "notice": "Get if the deposit whitelist is enabled." - }, - "epochAt(uint48)": { "notice": "Get an epoch at a given timestamp." }, - "epochDuration()": { "notice": "Get a duration of the vault epoch." }, - "epochDurationInit()": { - "notice": "Get a time point of the epoch duration set." - }, - "epochDurationSetEpochsDelay()": { - "notice": "Get a delay for the epoch duration set in epochs." - }, - "epochStart(uint256)": { "notice": "Get a start of the epoch." }, - "flashFeeRate()": { - "notice": "Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)." - }, - "flashFeeReceiver()": { "notice": "Get a flash fee receiver." }, - "flashLoanEnabled()": { - "notice": "Get if a flash loan mechanic is enabled." - }, - "isDelegatorInitialized()": { - "notice": "Get if the delegator is initialized." - }, - "isDepositLimit()": { "notice": "Get if the deposit limit is set." }, - "isDepositorWhitelisted(address)": { - "notice": "Get if a given account is whitelisted as a depositor." - }, - "isInitialized()": { - "notice": "Check if the vault is fully initialized (a delegator and a slasher are set)." - }, - "isSlasherInitialized()": { - "notice": "Get if the slasher is initialized." - }, - "isWithdrawalsClaimed(uint256,address)": { - "notice": "Get if the withdrawals are claimed for a particular account at a given epoch." - }, - "nextEpochStart()": { - "notice": "Get a start of the next vault epoch." - }, - "onSlash(uint256,uint48)": { - "notice": "Slash callback for burning collateral." - }, - "previousEpochStart()": { - "notice": "Get a start of the previous vault epoch." - }, - "redeem(address,uint256)": { - "notice": "Redeem collateral from the vault (it will be claimable after the next epoch)." - }, - "setDelegator(address)": { "notice": "Set a delegator." }, - "setDepositLimit(uint256)": { "notice": "Set a deposit limit." }, - "setDepositWhitelist(bool)": { - "notice": "Enable/disable deposit whitelist." - }, - "setDepositorWhitelistStatus(address,bool)": { - "notice": "Set a depositor whitelist status." - }, - "setEpochDuration(uint48,uint256)": { - "notice": "Set an epoch duration (can be only greater than the current one)." - }, - "setFlashFeeRate(uint256)": { - "notice": "Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)." - }, - "setFlashFeeReceiver(address)": { - "notice": "Set a flash fee receiver." - }, - "setFlashloanEnabled(bool)": { - "notice": "Set a flash loan enabled status." - }, - "setIsDepositLimit(bool)": { - "notice": "Enable/disable deposit limit." - }, - "setSlasher(address)": { "notice": "Set a slasher." }, - "slashableBalanceOf(address)": { - "notice": "Get a total amount of the collateral that can be slashed for a given account." - }, - "slasher()": { - "notice": "Get a slasher (it provides networks a slashing mechanism)." - }, - "staticDelegateCall(address,bytes)": { - "notice": "Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)." - }, - "totalStake()": { - "notice": "Get a total amount of the collateral that can be slashed." - }, - "withdraw(address,uint256)": { - "notice": "Withdraw collateral from the vault (it will be claimable after the next epoch)." - }, - "withdrawalShares(uint256)": { - "notice": "Get a total number of withdrawal shares at a given epoch." - }, - "withdrawalSharesOf(uint256,address)": { - "notice": "Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)." - }, - "withdrawals(uint256)": { - "notice": "Get a total amount of the withdrawals at a given epoch." - }, - "withdrawalsOf(uint256,address)": { - "notice": "Get withdrawals for a particular account at a given epoch (zero if claimed)." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { "enabled": true, "runs": 200 }, - "metadata": { "bytecodeHash": "ipfs" }, - "compilationTarget": { - "src/contracts/vault/v1.1/VaultImplementation.sol": "VaultImplementation" - }, - "evmVersion": "cancun", - "libraries": {}, - "viaIR": true - }, - "sources": { - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol": { - "keccak256": "0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225", - "urls": [ - "bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45", - "dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", - "urls": [ - "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", - "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", - "urls": [ - "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", - "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol": { - "keccak256": "0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866", - "urls": [ - "bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf", - "dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { - "keccak256": "0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab", - "urls": [ - "bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89", - "dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606", - "urls": [ - "bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1", - "dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol": { - "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7", - "urls": [ - "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b", - "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": { - "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724", - "urls": [ - "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a", - "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol": { - "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c", - "urls": [ - "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba", - "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol": { - "keccak256": "0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341", - "urls": [ - "bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce", - "dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol": { - "keccak256": "0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b", - "urls": [ - "bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e", - "dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", - "urls": [ - "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", - "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310", - "urls": [ - "bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862", - "dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", - "urls": [ - "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", - "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Errors.sol": { - "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", - "urls": [ - "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", - "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Panic.sol": { - "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", - "urls": [ - "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", - "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", - "urls": [ - "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", - "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", - "urls": [ - "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", - "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": { - "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", - "urls": [ - "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", - "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol": { - "keccak256": "0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f", - "urls": [ - "bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44", - "dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/types/Time.sol": { - "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", - "urls": [ - "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", - "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" - ], - "license": "MIT" - }, - "src/contracts/common/StaticDelegateCallable.sol": { - "keccak256": "0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90", - "urls": [ - "bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764", - "dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD" - ], - "license": "BUSL-1.1" - }, - "src/contracts/libraries/Checkpoints.sol": { - "keccak256": "0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c", - "urls": [ - "bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609", - "dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE" - ], - "license": "MIT" - }, - "src/contracts/libraries/ERC4626Math.sol": { - "keccak256": "0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939", - "urls": [ - "bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653", - "dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB" - ], - "license": "MIT" - }, - "src/contracts/vault/v1.1/VaultImplementation.sol": { - "keccak256": "0xaa0afadbdfea21a2a8b7ca31a485b60fbf256bb4e6df551e7c1c675e3869cfe5", - "urls": [ - "bzz-raw://2dfd8a71cf5bd4a13fb7c54696748badb2f1b8e5b0bc1c919bffc03e51015f9a", - "dweb:/ipfs/QmR9xZAJUGXATp3PZJSwLpQkw81v2fcBhFFmL3669HyJtL" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultStorage.sol": { - "keccak256": "0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7", - "urls": [ - "bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70", - "dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu" - ], - "license": "BUSL-1.1" - }, - "src/interfaces/common/IEntity.sol": { - "keccak256": "0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21", - "urls": [ - "bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b", - "dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv" - ], - "license": "MIT" - }, - "src/interfaces/common/IRegistry.sol": { - "keccak256": "0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb", - "urls": [ - "bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014", - "dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK" - ], - "license": "MIT" - }, - "src/interfaces/common/IStaticDelegateCallable.sol": { - "keccak256": "0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5", - "urls": [ - "bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516", - "dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi" - ], - "license": "MIT" - }, - "src/interfaces/delegator/IBaseDelegator.sol": { - "keccak256": "0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee", - "urls": [ - "bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2", - "dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8" - ], - "license": "MIT" - }, - "src/interfaces/slasher/IBaseSlasher.sol": { - "keccak256": "0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404", - "urls": [ - "bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf", - "dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVault.sol": { - "keccak256": "0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105", - "urls": [ - "bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd", - "dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultStorage.sol": { - "keccak256": "0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022", - "urls": [ - "bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882", - "dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 130 -} +{"abi":[{"type":"constructor","inputs":[{"name":"delegatorFactory","type":"address","internalType":"address"},{"name":"slasherFactory","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DELEGATOR_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SLASHER_FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeBalanceOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hints","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeShares","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeSharesOfAt","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"activeStakeAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"},{"name":"hint","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"claimBatch","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"epochs","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"currentEpoch","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"currentEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"epochAt","inputs":[{"name":"timestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"epochStart","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"flashFee","inputs":[{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoan","inputs":[{"name":"receiver","type":"address","internalType":"contract IERC3156FlashBorrower"},{"name":"token","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"maxFlashLoan","inputs":[{"name":"token","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"nextEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"onSlash","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","internalType":"uint48"}],"outputs":[{"name":"slashedAmount","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"previousEpochStart","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDelegator","inputs":[{"name":"delegator_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositLimit","inputs":[{"name":"limit","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositWhitelist","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEpochDuration","inputs":[{"name":"epochDuration_","type":"uint48","internalType":"uint48"},{"name":"epochDurationSetEpochsDelay_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeRate","inputs":[{"name":"flashFeeRate_","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setFlashloanEnabled","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setIsDepositLimit","inputs":[{"name":"status","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setSlasher","inputs":[{"name":"slasher_","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slashableBalanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"totalStake","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalsOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Claim","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epoch","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"ClaimBatch","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"epochs","type":"uint256[]","indexed":false,"internalType":"uint256[]"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Deposit","inputs":[{"name":"depositor","type":"address","indexed":true,"internalType":"address"},{"name":"onBehalfOf","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"shares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OnSlash","inputs":[{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"captureTimestamp","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"slashedAmount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDelegator","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetDepositLimit","inputs":[{"name":"limit","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetDepositWhitelist","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetDepositorWhitelistStatus","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetEpochDuration","inputs":[{"name":"epochDuration","type":"uint48","indexed":false,"internalType":"uint48"},{"name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeRate","inputs":[{"name":"flashFeeRate","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"SetFlashFeeReceiver","inputs":[{"name":"flashFeeReceiver","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"SetFlashloanEnabled","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetIsDepositLimit","inputs":[{"name":"status","type":"bool","indexed":false,"internalType":"bool"}],"anonymous":false},{"type":"event","name":"SetSlasher","inputs":[{"name":"slasher","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Withdraw","inputs":[{"name":"withdrawer","type":"address","indexed":true,"internalType":"address"},{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"burnedShares","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"mintedShares","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AlreadyClaimed","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"DelegatorAlreadyInitialized","inputs":[]},{"type":"error","name":"DepositLimitReached","inputs":[]},{"type":"error","name":"InsufficientClaim","inputs":[]},{"type":"error","name":"InsufficientDeposit","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InsufficientRedemption","inputs":[]},{"type":"error","name":"InsufficientWithdrawal","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCaptureEpoch","inputs":[]},{"type":"error","name":"InvalidClaimer","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidDelegator","inputs":[]},{"type":"error","name":"InvalidEpoch","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidLengthEpochs","inputs":[]},{"type":"error","name":"InvalidNewEpochDuration","inputs":[]},{"type":"error","name":"InvalidOnBehalfOf","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"InvalidReceiver","inputs":[]},{"type":"error","name":"InvalidRecipient","inputs":[]},{"type":"error","name":"InvalidReturnAmount","inputs":[]},{"type":"error","name":"InvalidSlasher","inputs":[]},{"type":"error","name":"InvalidTimestamp","inputs":[]},{"type":"error","name":"MaxLoanExceeded","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NewEpochDurationNotReady","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NoPreviousEpoch","inputs":[]},{"type":"error","name":"NotDelegator","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"NotSlasher","inputs":[]},{"type":"error","name":"NotWhitelistedDepositor","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"SlasherAlreadyInitialized","inputs":[]},{"type":"error","name":"TooLowFlashLoanValue","inputs":[]},{"type":"error","name":"TooMuchRedeem","inputs":[]},{"type":"error","name":"TooMuchWithdraw","inputs":[]},{"type":"error","name":"UnsupportedToken","inputs":[]}],"bytecode":{"object":"0x60c034608157601f614dfb38819003918201601f19168301916001600160401b038311848410176085578084926040948552833981010312608157604b60206045836099565b92016099565b9060805260a052604051614d4e90816100ad82396080518181816114cd0152611993015260a051818181611e4201526123c10152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820360815756fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105945780631415519b1461058f5780631b66c9e11461058a5780631e9a695014610585578063248a9ca3146105805780632749f9c41461057b57806327810b6e14610576578063281f5752146105715780632d73c69c1461056c5780632f2ff15d146105675780632fa27fae1461056257806331d9736c1461055d57806336568abe14610558578063392e53cd146105535780634105a7dd1461054e578063463616711461054957806347e7ef241461054457806348d3b7751461053f5780634ff0876a1461053a57806350861adc1461053557806350f220681461053057806352741a401461052b5780635346e34f1461052657806359f769a9146105215780635a36aa741461051c5780635cc07076146105175780635cffe9de14610512578063613255ab1461050d57806361819dd81461050857806361a8c8c414610503578063653b04cd146104fe57806365d61c6c146104f95780636da3e06d146104f45780636e0f2455146104ef5780636ec1e3f8146104ea5780637278e31c146104e557806373790ab3146104e057806376671808146104db578063794b15b7146104d65780637953b33b146104d15780637c04c80a146104cc578063810da75d146104c757806383cd9cc3146104c257806383f46c2c146104bd578063859b9344146104b857806387df0788146104b35780638b0e9f3f146104ae57806391d14854146104a957806398ccba4a146104a45780639b4bae3e1461049f5780639d66201b1461049a5780639f86fd85146104955780639f9962dd14610490578063a1b122021461048b578063a217fddf14610486578063a21a1df914610481578063a28614661461047c578063a3b5417214610477578063a5d0322314610472578063a66b3a731461046d578063a8b24f9a14610468578063aa9354a314610463578063aabc24961461045e578063aad3ec9614610459578063afba70ad14610454578063b13442711461044f578063bba6ff4a1461044a578063bc46f72214610445578063bd49c35f14610440578063bdc8144b1461043b578063bfefcd7b14610436578063c1bc6f5114610431578063c31e8dd71461042c578063c4db46fc14610427578063c642b05014610422578063cc52aee71461041d578063ce9b793014610418578063d547741f14610413578063d626811b1461040e578063d8dfeb4514610409578063d9d98ce414610404578063db388715146103ff578063e945da7f146103fa578063ecc98f05146103f5578063ecf70858146103f0578063efb559d6146103eb578063f3fef3a3146103e65763f5e7ee0f146103e1575f80fd5b612c17565b612b71565b612a26565b612a09565b6129eb565b6129ce565b612994565b612969565b61293e565b61287e565b612832565b61280a565b6127e2565b6127c8565b6127ab565b61273d565b612715565b6126fb565b61263b565b612621565b6125e7565b6125ca565b6125a2565b612578565b6124b7565b61230e565b6122f0565b6122c8565b61228e565b612248565b6121fb565b612116565b6120dc565b6120c2565b61209e565b612076565b611fa9565b611f6f565b611f52565b611f35565b611ed7565b611e71565b611e2d565b611da1565b611ad9565b61192e565b611915565b6118af565b611891565b611851565b611833565b611801565b611546565b611521565b6114fc565b6114b8565b611493565b611459565b611433565b6113f9565b6113d2565b61112f565b6110d8565b6110b0565b611089565b611002565b610f01565b610ee8565b610e82565b610e68565b610e47565b610b97565b610b7d565b610ae2565b610a9d565b610a52565b610a18565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b610787565b61074e565b610673565b610628565b6105ee565b346105ea5760203660031901126105ea5760043563ffffffff60e01b81168091036105ea57602090637965db0b60e01b81149081156105d9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ce565b5f80fd5b346105ea575f3660031901126105ea5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ea575f3660031901126105ea5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ea57565b346105ea5760403660031901126105ea5760043561069081610662565b6024359061069c6132c3565b6001600160a01b0381161561073d57335f908152600e602052604090206106c790614105565b614105565b821161072b576106e76106d861401d565b6106e0614091565b9084614158565b91821561071657826106f892613305565b906107016132f2565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ea5760203660031901126105ea576004355f525f80516020614cd98339815191526020526020600160405f200154604051908152f35b346105ea575f3660031901126105ea576020601454604051908152f35b346105ea575f3660031901126105ea576001546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576107ed6107e842613feb565b612ea9565b801561081e575f198101908111610819576108096020916130f1565b65ffffffffffff60405191168152f35b612c41565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ea57565b6004359065ffffffffffff821682036105ea57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ea5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ea57815f926020809301838601378301015290565b346105ea5760603660031901126105ea5760043561095781610662565b61095f610830565b90604435906001600160401b0382116105ea576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e85526040902061363f565b604051908152f35b346105ea5760403660031901126105ea576109f66024356004356109cd82610662565b805f525f80516020614cd98339815191526020526109f1600160405f2001546138c4565b6138f0565b005b346105ea575f3660031901126105ea57602060015460d01c604051908152f35b346105ea575f3660031901126105ea5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ea5760403660031901126105ea57602435610a6f81610662565b336001600160a01b03821603610a8b576109f69060043561398b565b60405163334bd91960e11b8152600490fd5b346105ea575f3660031901126105ea5760ff60025460a01c1680610ac9575b6020906040519015158152f35b5060035460a01c60ff16610abc565b801515036105ea57565b346105ea5760203660031901126105ea57600435610aff81610ad8565b610b076132c3565b610b0f61370b565b5f54901515908160ff8216151514610b6b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614cf983398151915255005b60405163a741a04560e01b8152600490fd5b346105ea575f3660031901126105ea576020610809612c91565b346105ea576040806003193601126105ea576004803591610bb783610662565b610bbf6132c3565b6001600160a01b0391838316908115610e39575f5460ff811680610e20575b610e115783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610de9575f93610dee575b50610c33906024359030903390613a1d565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610de957610c72935f92610dbc575b5050612c63565b938415610dad5760081c60ff1680610d98575b610d8a57509061071291610d36610c9a61401d565b95610ce3610ca6614091565b610cce610cb48a838b614158565b99610cc88a610cc242613feb565b92612cf9565b90613b71565b5050610cdd89610cc242613feb565b90613c51565b50506001600160a01b0381165f908152600e6020526040902090610d3088610d2b6106c2610d1042613feb565b6001600160a01b039095165f908152600e6020526040902090565b612cf9565b91613d2d565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d746132f2565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610da584610d2b61401d565b815410610c85565b50825163070f6eed60e11b8152fd5b610ddb9250803d10610de2575b610dd381836108a9565b810190612cd1565b5f80610c6b565b503d610dc9565b612ce0565b610c33919350610e0a90853d8711610de257610dd381836108a9565b9290610c21565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bde565b8251630d534ce360e11b8152fd5b346105ea575f3660031901126105ea57602060ff5f54166040519015158152f35b346105ea575f3660031901126105ea576020610809612d06565b346105ea575f3660031901126105ea57602060ff60025460a01c166040519015158152f35b9060406003198301126105ea5760043565ffffffffffff811681036105ea5791602435906001600160401b0382116105ea57610ee5916004016108f4565b90565b346105ea5760206109a2610efb36610ea7565b906134b4565b346105ea5760203660031901126105ea57600435610f1e81610662565b610f266132c3565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fe457506016546001600160a01b039182169181168214610b6b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614cf983398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ea5760203660031901126105ea5760043561101f81610ad8565b6110276132c3565b61102f613768565b5f54901515908160ff8260081c16151514610b6b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f66132f2565b346105ea5760203660031901126105ea5760206109a26004356110ab81610662565b612d4c565b346105ea575f3660031901126105ea57602065ffffffffffff60135460301c16604051908152f35b346105ea5760203660031901126105ea576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ea578235916001600160401b0383116105ea57602083818601950101116105ea57565b346105ea5760803660031901126105ea576004803561114d81610662565b60243561115981610662565b604435906064356001600160401b0381116105ea5761117b9036908601611102565b91906111856132c3565b83156113c15761119482612de5565b84116113b057816111a88561120894613209565b5f549092906111ca9060101c6001600160a01b03165b6001600160a01b031690565b9560018060a01b03808816936040998a51986370a0823160e01b95868b528d8b8060209c8d9330908301919091602081019260018060a01b03169052565b03818b5afa9a8b15610de9578c958f948f925f9e61136d575b50935f938d98969361123e8b8f9c9a98956112599616809a613deb565b516323e30c8b60e01b8152998a988997889633908801612d9b565b03925af18015610de9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611350575b500361134057865190815230888201908152909184918391908290819060200103915afa928315610de9575f93611321575b50506112ca8383612c63565b1061131157906112d991612c63565b806112f2575b826112e86132f2565b5160018152602090f35b60165461130a92906001600160a01b03165b90613deb565b81806112df565b50505051637f28d71160e01b8152fd5b611338929350803d10610de257610dd381836108a9565b905f806112be565b8651631e4ec46b60e01b81528890fd5b6113679150863d8811610de257610dd381836108a9565b5f61128c565b899795919e50938d9896938d9a958a3d8c116113a9575b61138e81836108a9565b810161139991612cd1565b9f92969850939698509398611221565b503d611384565b60405163347177ad60e21b81528690fd5b6040516391ba94bf60e01b81528690fd5b346105ea5760203660031901126105ea5760206109a26004356113f481610662565b612de5565b346105ea575f3660031901126105ea5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ea575f3660031901126105ea5760206108096114546107e842613feb565b6130f1565b346105ea575f3660031901126105ea5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ea575f3660031901126105ea57602060ff60165460a01c166040519015158152f35b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57602065ffffffffffff60135416604051908152f35b346105ea575f3660031901126105ea57602060ff60035460a01c166040519015158152f35b346105ea5760403660031901126105ea57600435611562610830565b61156a6132c3565b60035461157f906001600160a01b03166111be565b33036117ef576115916107e842613feb565b9061159b81612ea9565b90821515806117de575b80156117d5575b6117c357610712937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115de61401d565b946115f96115eb82612ceb565b5f52600660205260405f2090565b54908281036116dd575061160d8187612cf9565b838118818510028118968780611696575b50505050505b83611663575b6040805191825265ffffffffffff929092166020820152908101839052606090a16116536132f2565b6040519081529081906020820190565b5f546116919085906116809060101c6001600160a01b03166111be565b6001546001600160a01b0316611304565b61162a565b6116d293610c6b83610cc86116bc6116b56115eb986116cc9888613ec2565b8096612c63565b946116c642613feb565b92612c63565b92612ceb565b555f8080808761161e565b91506116f1825f52600660205260405f2090565b549061170181610d2b848a612cf9565b90848218828610028218978861171c575b5050505050611624565b6117919383611744936117518c61174c61173a611782998884613ec2565b9788958584613ec2565b948592612c63565b612c63565b9384841061179c575b610c6b90610cc86117709596976116c642613feb565b61177c6115eb87612ceb565b55612c63565b915f52600660205260405f2090565b555f80808080611712565b916117b8610c6b916117b2866117709798612c63565b90612cf9565b85945092905061175a565b604051635e18d2a560e01b8152600490fd5b508282116115ac565b506117e883612c55565b82106115a5565b60405163dabc4ad960e01b8152600490fd5b346105ea575f3660031901126105ea5761181d6107e842613feb565b60018101809111610819576108096020916130f1565b346105ea575f3660031901126105ea5760206109a26107e842613feb565b346105ea5760203660031901126105ea5760043561186e81610662565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ea5760203660031901126105ea5760206109a26107e8610845565b346105ea5760403660031901126105ea576004356118cc81610662565b6024356001600160401b038082116105ea57366023830112156105ea5781600401359081116105ea573660248260051b840101116105ea57610712926024611653930190612f94565b346105ea5760206109a261192836610ea7565b9061358a565b346105ea576020806003193601126105ea57600480359061194e82610662565b6119566132c3565b60025460a01c60ff16611aca576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f91611a9d575b5015611a8d5760405163fbfa77cf60e01b8152838516949082818581895afa928315610de9575f93611a5e575b505030911603611a4f5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f66132f2565b60405163b9f0f17160e01b8152fd5b611a7e929350803d10611a86575b611a7681836108a9565b8101906130c9565b905f806119f0565b503d611a6c565b506040516324e5af8d60e21b8152fd5b611abd9150823d8411611ac3575b611ab581836108a9565b8101906130b4565b5f6119c3565b503d611aab565b604051631380833b60e01b8152fd5b346105ea5760403660031901126105ea57611af2610845565b602435611afd6132c3565b611b056137bf565b60038110611d8f5765ffffffffffff9182611b2b60135465ffffffffffff9060601c1690565b168015159081611d79575b50611c7b575b60015460d01c838083169116818111611c69571480611c5e575b610b6b57611c33611c0a611c057f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611ba5611ba0611b976107e842613feb565b600f5490612cf9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611bd76114546107e842613feb565b90611bfe600f54611bf8611bed60015460d01c90565b65ffffffffffff1690565b906130de565b9116612cf9565b613feb565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c3c82601055565b6040805165ffffffffffff9290921682526020820192909252a16109f66132f2565b5081600f5414611b56565b6040516359dcfd5560e11b8152600490fd5b611c86601154601255565b611cc0611c9560015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cec9060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cf7601454601155565b601354611d2e9060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d699060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d74601054600f55565b611b3c565b9050611d87611bed42613feb565b10155f611b36565b6040516317a509b960e31b8152600490fd5b346105ea5760203660031901126105ea57600435611dbe81610ad8565b611dc66132c3565b611dce613816565b601654901515908160ff8260a01c16151514610b6b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a16109f66132f2565b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57611e8d6107e842613feb565b611e9561401d565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ea5760403660031901126105ea57602060ff611f29602435611efb81610662565b6004355f525f80516020614cd9833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ea575f3660031901126105ea576020601254604051908152f35b346105ea575f3660031901126105ea576020601154604051908152f35b346105ea5760203660031901126105ea57600435611f8c81610662565b60018060a01b03165f52600e60205260206109a260405f20614105565b346105ea576040806003193601126105ea57600435611fc781610662565b6024356001600160401b0381116105ea575f8061206593611fee6080943690600401611102565b908188519283928337810184815203915af43d1561206d5760203d612012816108d9565b9061201f875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060612028565b346105ea575f3660031901126105ea57602065ffffffffffff60015460a01c16604051908152f35b346105ea575f3660031901126105ea57602060ff5f5460081c166040519015158152f35b346105ea575f3660031901126105ea5760206040515f8152f35b346105ea575f3660031901126105ea5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ea5760403660031901126105ea5760043561213381610662565b60243561213f81610ad8565b6121476132c3565b61214f61386d565b6001600160a01b0382169182156121e9575f8381526005602052604090205460ff16151582151514610b6b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121de916121cc908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f66132f2565b604051630da30f6560e31b8152600490fd5b346105ea5760403660031901126105ea57602061223f60243561221d81610662565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ea5760403660031901126105ea57602060ff611f2960243561226c81610662565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ea575f3660031901126105ea5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105ea575f3660031901126105ea576016546040516001600160a01b039091168152602090f35b346105ea5760203660031901126105ea5760206108096004356130f1565b346105ea576020806003193601126105ea57600480359061232e82610662565b6123366132c3565b60035460a01c60ff166124a8576001600160a01b03828116939084612396575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f66132f2565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f9161248b575b501561247a5760405163fbfa77cf60e01b815282818581895afa928315610de9575f9361245b575b50503091160361244c5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080612356565b604051633f3e089160e21b8152fd5b612472929350803d10611a8657611a7681836108a9565b905f80612419565b60405163dabc4ad960e01b81528390fd5b6124a29150833d8511611ac357611ab581836108a9565b5f6123f1565b60405163703fe2e560e01b8152fd5b346105ea5760403660031901126105ea576004356124d481610662565b602435906124e06132c3565b6001600160a01b0391818316908115612566576125116107129461250383613f4f565b9485915f5460101c16613deb565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614cf9833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ea5760203660031901126105ea576004355f526007602052602060405f2054604051908152f35b346105ea575f3660031901126105ea576003546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576020600f54604051908152f35b346105ea575f3660031901126105ea5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ea575f3660031901126105ea5760206109a261401d565b346105ea5760203660031901126105ea576004356126576132c3565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fe457508060045414610b6b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614cf983398151915255005b346105ea575f3660031901126105ea5760206109a2614091565b346105ea575f3660031901126105ea57602065ffffffffffff60135460901c16604051908152f35b346105ea5760203660031901126105ea5760043561275a81610662565b6127666107e842613feb565b61276f82612d4c565b9161277a8183613265565b830180931161081957600182018092116108195761279791613265565b810180911161081957602090604051908152f35b346105ea575f3660031901126105ea576020601054604051908152f35b346105ea575f3660031901126105ea5760206109a26131c9565b346105ea575f3660031901126105ea57602065ffffffffffff60135460601c16604051908152f35b346105ea575f3660031901126105ea576002546040516001600160a01b039091168152602090f35b346105ea5760403660031901126105ea576109f660243560043561285582610662565b805f525f80516020614cd9833981519152602052612879600160405f2001546138c4565b61398b565b346105ea5760203660031901126105ea5760043561289a6132c3565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fe457508060155414610b6b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614cf983398151915255005b346105ea575f3660031901126105ea575f5460405160109190911c6001600160a01b03168152602090f35b346105ea5760403660031901126105ea5760206109a260043561298b81610662565b60243590613209565b346105ea575f3660031901126105ea5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ea575f3660031901126105ea576020601554604051908152f35b346105ea575f3660031901126105ea576020604051633b9aca008152f35b346105ea575f3660031901126105ea576020600454604051908152f35b346105ea5760603660031901126105ea57600435612a4381610662565b612a4b610830565b6001600160401b0391906044358381116105ea57612a6d903690600401611102565b90926040938451612a7d8161086e565b60608152606060208201526060868201529280612adc575b61071286612acd8787612ac7612aae8984845191612c70565b9285612abe60208501518361358a565b930151906134b4565b91614158565b90519081529081906020820190565b81019392506020818503126105ea578035908682116105ea5701926060848203126105ea57845195612b0d8761086e565b84358181116105ea5782612b229187016108f4565b875260208501358181116105ea5782612b3c9187016108f4565b6020880152858501359081116105ea5761071296612b65612ac793612aae93612acd98016108f4565b87820152939450612a95565b346105ea5760403660031901126105ea57600435612b8e81610662565b602435612b996132c3565b6001600160a01b0382161561073d578015612c0557612bc8612bb9614091565b612bc161401d565b908361459b565b335f908152600e60205260409020909290612be290614105565b8311612bf3576106f8918391613305565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ea5760403660031901126105ea5760206109a2602435612c3981610662565b600435613265565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610ee592919061363f565b65ffffffffffff8060135460601c169081158015612cbe575b612cb2575090565b905060015460a01c1690565b508181612cca42613feb565b1610612caa565b908160209103126105ea575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612d38575b50612d2d5760901c1690565b505060015460d01c90565b905082612d4442613feb565b16105f612d21565b6001600160a01b03165f908152600e60205260409020612d6b90614105565b612d7361401d565b612d7b614091565b9060018101809111610819576001820180921161081957610ee592613ec2565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612df69060a01c60ff161590565b612e5c575f5460101c6001600160a01b0390811691168103612e5c576040516370a0823160e01b815230600482015290602090829060249082905afa908115610de9575f91612e43575090565b610ee5915060203d602011610de257610dd381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612ea457160490565b612e79565b60015465ffffffffffff808316929160a081901c821680851015612f215750506013549281841690818015918215612f17575b5050612f0557610ee5936117b292612efa611bed9360125496612e61565b9160301c1690612e8d565b60405163b7d0949760e01b8152600490fd5b109050815f612edc565b909160135490808260601c1695868015918215612f8a575b505015612f65575050610ee593506117b291612f5b611bed9260115495612e61565b9060d01c90612e8d565b6117b29350611bed9250612f7f610ee59660145496612e61565b9160901c1690612e8d565b109050865f612f39565b90612f9d6132c3565b5f926001600160a01b038316928315612566578115613047575f5b82811061302557505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d2792869290916130089184916130039060101c6001600160a01b03166111be565b613deb565b613019604051928392339684613082565b0390a3906108d76132f2565b946130406001916117b261303a89878961306d565b35613f4f565b9501612fb8565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b919081101561307d5760051b0190565b613059565b604080825281018390529392916001600160fb1b0381116105ea5760209160609160051b809183880137850101930152565b908160209103126105ea5751610ee581610ad8565b908160209103126105ea5751610ee581610662565b8181029291811591840414171561081957565b6012548082106131b757601154808310156131325750611c0590610ee592611bfe6131266013549365ffffffffffff93612c63565b828460301c16906130de565b9050601454801580156131ae575b156131785750610ee59165ffffffffffff61316e613164611c059460015494612c63565b8360d01c906130de565b9160a01c16612cf9565b611c059150610ee5926131a46131986013549365ffffffffffff93612c63565b828460901c16906130de565b9160601c16612cf9565b50808310613140565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c1680159182156131f4575b50506131ee5760105490565b600f5490565b90915061320042613feb565b16105f806131e2565b5f546001600160a01b039160109190911c821690821603613253576016541661323157505f90565b633b9aca006015546132438184613e44565b9209151581018091116108195790565b60405163350b944160e11b8152600490fd5b9061328b90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610ee592613ec2565b5f80516020614cf983398151915260028154146132e05760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614cf983398151915255565b335f908152600e602052604090209392919061332042613feb565b335f908152600e6020526040902061333790614105565b91848303928311610819576133727febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361340199613d2d565b505061338c61338042613feb565b610cdd8761174c614091565b50506133a661339a42613feb565b610cc88461174c61401d565b505061344f8161343a6133c36133be6107e842613feb565b612ceb565b6134196133d8825f52600660205260405f2090565b546133eb835f52600760205260405f2090565b546133f782828b614158565b9d8e998a93612cf9565b613413855f52600660205260405f2090565b55612cf9565b61342b825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61345a838254612cf9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ea575163ffffffff811681036105ea5790565b90600163ffffffff8093160191821161081957565b9080511561358057806020806134cf93518301019101613483565b6134d8816143c9565b906134e9825165ffffffffffff1690565b9065ffffffffffff8085169216828114613574578211918261351f575b50506135165750610ee590614179565b60209150015190565b90915061352d600a54612c55565b63ffffffff831614918215613546575b50505f80613506565b61356c91925061356061355b611bed9261349f565b6143c9565b5165ffffffffffff1690565b115f8061353d565b50505060209150015190565b50610ee590614179565b9080511561363557806020806135a593518301019101613483565b6135ae81614453565b906135bf825165ffffffffffff1690565b9065ffffffffffff808516921682811461357457821191826135ec575b50506135165750610ee590614240565b9091506135fa600c54612c55565b63ffffffff831614918215613613575b50505f806135dc565b61362d919250613560613628611bed9261349f565b614453565b115f8061360a565b50610ee590614240565b91805115613701578060208061365a93518301019101613483565b9161366583826144d3565b92613676845165ffffffffffff1690565b9065ffffffffffff80851692168281146136f557821191826136ac575b50506136a357610ee59250614300565b50506020015190565b9091506136b98354612c55565b63ffffffff8316149182156136d2575b50505f80613693565b6136ed9192506135606136e7611bed9261349f565b856144d3565b115f806136c9565b50505050506020015190565b50610ee591614300565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fe45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061375e565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff9061375e565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff9061375e565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061375e565b5f8181525f80516020614cd983398151915260209081526040808320338452909152902060ff9061375e565b5f8181525f80516020614cd9833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613984575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614cd9833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613984575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d792604052614541565b600b5481101561307d57600b5f525f80516020614cb983398151915201905f90565b600d5481101561307d57600d5f525f80516020614c9983398151915201905f90565b805482101561307d575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d5581101561307d57600d5f525f80516020614c998339815191520155565b600b54600160401b811015610889576001810180600b5581101561307d57600b5f525f80516020614cb98339815191520155565b90815491600160401b8310156108895782613b599160016108d795018155613ab9565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613c1c575b50613b896145d4565b50929091815492613b9861401d565b9481613c07575b5015613be457505f198201828111610819578154111561307d575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613bf8926001600160d01b031691506147d0565b5050613c0383613ace565b9190565b65ffffffffffff83811691161490505f613b9f565b600160401b811015610889576001810180845581101561307d575f908382525f80516020614c9983398151915201555f613b80565b919091600b9081548015613cf8575b50613c69614629565b50929091815492613c78614091565b9481613ce3575b5015613cc457505f198201828111610819578154111561307d575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613cd8926001600160d01b031691506148a0565b5050613c0383613b02565b65ffffffffffff83811691161490505f613c7f565b600160401b811015610889576001810180845581101561307d575f908382525f80516020614cb983398151915201555f613c60565b90929192600182019081548015613dbb575b5084613d4a8461467e565b50949092845493613d5a83614105565b9681613da6575b5015613d83575050505f19810190811161081957613b598591613c0393613ab9565b613c03949293613d9f926001600160d01b03909116919061493f565b5050613b36565b65ffffffffffff83811691161490505f613d61565b600160401b81101561088957806001613dd79201845583613ab9565b8154905f199060031b1b191690555f613d3f565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d792604052614541565b8115612ea4570490565b90808202905f1981840990828083109203918083039214613eb557633b9aca009082821115613ea3577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f425784831115613f355790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186146b7565b505090610ee59250613e3a565b90613f5c6107e842613feb565b8210156131b75760ff613f8c613f7a845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613fd957613f9c3383613265565b918215613fc757613fba9061343a33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ffe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061405857505f5b6001600160d01b03811615612e5c57600d5481101561307d57600d5f525f80516020614c99833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c614028565b600a54806140cc57505f5b6001600160d01b03811615612e5c57600b5481101561307d57600b5f525f80516020614cb9833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61409c565b80548061413a57505f5b6001600160d01b0381161561413457600161412a9201613ab9565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c61410f565b919060018101809111610819576001820180921161081957610ee592613ec2565b600a54905f8291600584116141e7575b6141939350614b24565b806141b657505f5b6001600160d01b03811615612e5c5761412a610ee591613a75565b6141db6141c56141e292612c55565b600a5f525f80516020614c798339815191520190565b5460301c90565b61419b565b91926141f2816149f9565b81039081116108195761419393600a5f5265ffffffffffff80835f80516020614c79833981519152015416908516105f1461422e575091614189565b92915061423a90612ceb565b90614189565b600c54905f8291600584116142a7575b61425a9350614b8d565b8061427d57505f5b6001600160d01b03811615612e5c5761412a610ee591613a97565b6141db61428c6142a292612c55565b600c5f525f80516020614c598339815191520190565b614262565b91926142b2816149f9565b81039081116108195761425a93600c5f5265ffffffffffff80835f80516020614c59833981519152015416908516105f146142ee575091614250565b9291506142fa90612ceb565b90614250565b908154905f829160058411614363575b61431b935084614bf6565b8061434357505f905b6001600160d01b0382161561413457610ee591600161412a9201613ab9565b6141db61435261435d92612c55565b835f5260205f200190565b90614324565b919261436e816149f9565b81039081116108195761431b93855f5265ffffffffffff808360205f20015416908516105f1461439f575091614310565b9291506143ab90612ceb565b90614310565b604051906143be8261088e565b5f6020838281520152565b6143d16143b1565b506143da6143b1565b50600a5481101561307d57600a5f526020604051916143f88361088e565b5f80516020614c7983398151915201549165ffffffffffff83169283825260301c9182910152600b5481101561307d57600b5f525f80516020614cb98339815191520154604051916144498361088e565b8252602082015290565b61445b6143b1565b506144646143b1565b50600c5481101561307d57600c5f526020604051916144828361088e565b5f80516020614c5983398151915201549165ffffffffffff83169283825260301c9182910152600d5481101561307d57600d5f525f80516020614c998339815191520154604051916144498361088e565b90602060016144f7614523936144e76143b1565b506144f06143b1565b5085613ab9565b5093604051946145068661088e565b549465ffffffffffff86169586825260301c938491015201613ab9565b905490604051926145338461088e565b835260031b1c602082015290565b905f602091828151910182855af115612ce0575f513d61459257506001600160a01b0381163b155b6145705750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614569565b9190600181018091116108195760018201809211610819576145be828285613ec2565b928215612ea45709151581018091116108195790565b600c54806145e557505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061463a57505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061468f5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c5582101561307d57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c5983398151915290910155565b600a5490600160401b821015610889576001820180600a5582101561307d57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c7983398151915290910155565b8054600160401b8110156108895761479291600182018155613ab9565b6147bd57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156148775761428c6147e891612c55565b9081549165ffffffffffff908184169183168083116148655786920361482d5761482692509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506148609061484c61483e6108ca565b65ffffffffffff9092168252565b6001600160d01b03851660208201526146c7565b614826565b604051632520601d60e01b8152600490fd5b5061489b9061488761483e6108ca565b6001600160d01b03841660208201526146c7565b5f9190565b600a54919291801561491b576141c56148b891612c55565b9081549165ffffffffffff90818416918316808311614865578692036148f65761482692509065ffffffffffff82549181199060301b169116179055565b50506148609061490761483e6108ca565b6001600160d01b038516602082015261471e565b5061489b9061492b61483e6108ca565b6001600160d01b038416602082015261471e565b805492939280156149d45761495661496191612c55565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614865578793036149a0575061482692509065ffffffffffff82549181199060301b169116179055565b915050614860916149c06149b26108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614775565b509061489b916149e56149b26108ca565b6001600160d01b0385166020830152614775565b6001811115610ee557600181600160801b811015614b12575b614aba614ab0614aa6614a9c614a92614a88614ac697600488600160401b614ac19a1015614b05575b640100000000811015614af8575b62010000811015614aeb575b610100811015614adf575b6010811015614ad3575b1015614acb575b60030260011c614a81818b613e3a565b0160011c90565b614a81818a613e3a565b614a818189613e3a565b614a818188613e3a565b614a818187613e3a565b614a818186613e3a565b8093613e3a565b821190565b900390565b60011b614a71565b811c9160021b91614a6a565b60081c91811b91614a60565b60101c9160081b91614a55565b60201c9160101b91614a49565b60401c9160201b91614a3b565b50600160401b9050608082901c614a12565b905b828110614b3257505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614c79833981519152015416908616105f14614b7a575050915b90614b26565b9093925081018091116108195790614b74565b905b828110614b9b57505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614c59833981519152015416908616105f14614be3575050915b90614b8f565b9093925081018091116108195790614bdd565b91905b838210614c065750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614c45575050925b9190614bf9565b9094935081018091116108195791614c3e56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a264697066735822122082ca328ab99bb196c5160d9392504efc8b6e6656a057ff32d8ed717ebed826c864736f6c63430008190033","sourceMap":"1252:21269:107:-:0;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1785:36;;;1831:32;;1252:21269;;;;;;;;1785:36;1252:21269;;;;;;;;;;1831:32;1252:21269;;;;;;;;;;;;-1:-1:-1;1252:21269:107;;;;;;-1:-1:-1;1252:21269:107;;;;;-1:-1:-1;1252:21269:107;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a7146105945780631415519b1461058f5780631b66c9e11461058a5780631e9a695014610585578063248a9ca3146105805780632749f9c41461057b57806327810b6e14610576578063281f5752146105715780632d73c69c1461056c5780632f2ff15d146105675780632fa27fae1461056257806331d9736c1461055d57806336568abe14610558578063392e53cd146105535780634105a7dd1461054e578063463616711461054957806347e7ef241461054457806348d3b7751461053f5780634ff0876a1461053a57806350861adc1461053557806350f220681461053057806352741a401461052b5780635346e34f1461052657806359f769a9146105215780635a36aa741461051c5780635cc07076146105175780635cffe9de14610512578063613255ab1461050d57806361819dd81461050857806361a8c8c414610503578063653b04cd146104fe57806365d61c6c146104f95780636da3e06d146104f45780636e0f2455146104ef5780636ec1e3f8146104ea5780637278e31c146104e557806373790ab3146104e057806376671808146104db578063794b15b7146104d65780637953b33b146104d15780637c04c80a146104cc578063810da75d146104c757806383cd9cc3146104c257806383f46c2c146104bd578063859b9344146104b857806387df0788146104b35780638b0e9f3f146104ae57806391d14854146104a957806398ccba4a146104a45780639b4bae3e1461049f5780639d66201b1461049a5780639f86fd85146104955780639f9962dd14610490578063a1b122021461048b578063a217fddf14610486578063a21a1df914610481578063a28614661461047c578063a3b5417214610477578063a5d0322314610472578063a66b3a731461046d578063a8b24f9a14610468578063aa9354a314610463578063aabc24961461045e578063aad3ec9614610459578063afba70ad14610454578063b13442711461044f578063bba6ff4a1461044a578063bc46f72214610445578063bd49c35f14610440578063bdc8144b1461043b578063bfefcd7b14610436578063c1bc6f5114610431578063c31e8dd71461042c578063c4db46fc14610427578063c642b05014610422578063cc52aee71461041d578063ce9b793014610418578063d547741f14610413578063d626811b1461040e578063d8dfeb4514610409578063d9d98ce414610404578063db388715146103ff578063e945da7f146103fa578063ecc98f05146103f5578063ecf70858146103f0578063efb559d6146103eb578063f3fef3a3146103e65763f5e7ee0f146103e1575f80fd5b612c17565b612b71565b612a26565b612a09565b6129eb565b6129ce565b612994565b612969565b61293e565b61287e565b612832565b61280a565b6127e2565b6127c8565b6127ab565b61273d565b612715565b6126fb565b61263b565b612621565b6125e7565b6125ca565b6125a2565b612578565b6124b7565b61230e565b6122f0565b6122c8565b61228e565b612248565b6121fb565b612116565b6120dc565b6120c2565b61209e565b612076565b611fa9565b611f6f565b611f52565b611f35565b611ed7565b611e71565b611e2d565b611da1565b611ad9565b61192e565b611915565b6118af565b611891565b611851565b611833565b611801565b611546565b611521565b6114fc565b6114b8565b611493565b611459565b611433565b6113f9565b6113d2565b61112f565b6110d8565b6110b0565b611089565b611002565b610f01565b610ee8565b610e82565b610e68565b610e47565b610b97565b610b7d565b610ae2565b610a9d565b610a52565b610a18565b6109f8565b6109aa565b61093a565b6107cc565b6107a4565b610787565b61074e565b610673565b610628565b6105ee565b346105ea5760203660031901126105ea5760043563ffffffff60e01b81168091036105ea57602090637965db0b60e01b81149081156105d9575b506040519015158152f35b6301ffc9a760e01b1490505f6105ce565b5f80fd5b346105ea575f3660031901126105ea5760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346105ea575f3660031901126105ea5760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b6001600160a01b038116036105ea57565b346105ea5760403660031901126105ea5760043561069081610662565b6024359061069c6132c3565b6001600160a01b0381161561073d57335f908152600e602052604090206106c790614105565b614105565b821161072b576106e76106d861401d565b6106e0614091565b9084614158565b91821561071657826106f892613305565b906107016132f2565b604080519182526020820192909252f35b0390f35b60405160016245ddc760e11b03198152600490fd5b604051632418411f60e11b8152600490fd5b6040516208978560e71b8152600490fd5b346105ea5760203660031901126105ea576004355f525f80516020614cd98339815191526020526020600160405f200154604051908152f35b346105ea575f3660031901126105ea576020601454604051908152f35b346105ea575f3660031901126105ea576001546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576107ed6107e842613feb565b612ea9565b801561081e575f198101908111610819576108096020916130f1565b65ffffffffffff60405191168152f35b612c41565b604051639fa56a5b60e01b8152600490fd5b6024359065ffffffffffff821682036105ea57565b6004359065ffffffffffff821682036105ea57565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761088957604052565b61085a565b604081019081106001600160401b0382111761088957604052565b90601f801991011681019081106001600160401b0382111761088957604052565b604051906108d78261088e565b565b6001600160401b03811161088957601f01601f191660200190565b81601f820112156105ea5780359061090b826108d9565b9261091960405194856108a9565b828452602083830101116105ea57815f926020809301838601378301015290565b346105ea5760603660031901126105ea5760043561095781610662565b61095f610830565b90604435906001600160401b0382116105ea576020926109866109a29336906004016108f4565b6001600160a01b039092165f908152600e85526040902061363f565b604051908152f35b346105ea5760403660031901126105ea576109f66024356004356109cd82610662565b805f525f80516020614cd98339815191526020526109f1600160405f2001546138c4565b6138f0565b005b346105ea575f3660031901126105ea57602060015460d01c604051908152f35b346105ea575f3660031901126105ea5760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346105ea5760403660031901126105ea57602435610a6f81610662565b336001600160a01b03821603610a8b576109f69060043561398b565b60405163334bd91960e11b8152600490fd5b346105ea575f3660031901126105ea5760ff60025460a01c1680610ac9575b6020906040519015158152f35b5060035460a01c60ff16610abc565b801515036105ea57565b346105ea5760203660031901126105ea57600435610aff81610ad8565b610b076132c3565b610b0f61370b565b5f54901515908160ff8216151514610b6b5760ff191660ff8216175f556040519081527f3e12b7b36c75ac9609a3f58609b331210428e1a85909132638955ba0301eec3390602090a160015f80516020614cf983398151915255005b60405163a741a04560e01b8152600490fd5b346105ea575f3660031901126105ea576020610809612c91565b346105ea576040806003193601126105ea576004803591610bb783610662565b610bbf6132c3565b6001600160a01b0391838316908115610e39575f5460ff811680610e20575b610e115783516370a0823160e01b808252308483019081529096602093909160109190911c82169084908490819083010381845afa928315610de9575f93610dee575b50610c33906024359030903390613a1d565b5f5486519788523085890190815290979184918391908290819060200103918b60101c165afa908115610de957610c72935f92610dbc575b5050612c63565b938415610dad5760081c60ff1680610d98575b610d8a57509061071291610d36610c9a61401d565b95610ce3610ca6614091565b610cce610cb48a838b614158565b99610cc88a610cc242613feb565b92612cf9565b90613b71565b5050610cdd89610cc242613feb565b90613c51565b50506001600160a01b0381165f908152600e6020526040902090610d3088610d2b6106c2610d1042613feb565b6001600160a01b039095165f908152600e6020526040902090565b612cf9565b91613d2d565b505081518481526020810186905233907fdcbc1c05240f31ff3ad067ef1ee35ce4997762752e3a095284754544f4c709d790604090a3610d746132f2565b5191825260208201929092529081906040820190565b8251632484557960e01b8152fd5b50610da584610d2b61401d565b815410610c85565b50825163070f6eed60e11b8152fd5b610ddb9250803d10610de2575b610dd381836108a9565b810190612cd1565b5f80610c6b565b503d610dc9565b612ce0565b610c33919350610e0a90853d8711610de257610dd381836108a9565b9290610c21565b5082516304f63b8560e01b8152fd5b50335f9081526005602052604090205460ff1615610bde565b8251630d534ce360e11b8152fd5b346105ea575f3660031901126105ea57602060ff5f54166040519015158152f35b346105ea575f3660031901126105ea576020610809612d06565b346105ea575f3660031901126105ea57602060ff60025460a01c166040519015158152f35b9060406003198301126105ea5760043565ffffffffffff811681036105ea5791602435906001600160401b0382116105ea57610ee5916004016108f4565b90565b346105ea5760206109a2610efb36610ea7565b906134b4565b346105ea5760203660031901126105ea57600435610f1e81610662565b610f266132c3565b335f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf036360205260409020547f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad19060ff1615610fe457506016546001600160a01b039182169181168214610b6b576001600160a01b03191681176016556040519081527f08aacfdb137d688b12f67ef81735dede1ae18b0664f6b347ee9ef00ae94ff91990602090a160015f80516020614cf983398151915255005b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b346105ea5760203660031901126105ea5760043561101f81610ad8565b6110276132c3565b61102f613768565b5f54901515908160ff8260081c16151514610b6b5761ff001916600882901b61ff0016175f556040519081527ffa7a25a0b611d4ba3c0ea990e90dc23d484a5dd7a1be4733fef2946ba74530c690602090a16109f66132f2565b346105ea5760203660031901126105ea5760206109a26004356110ab81610662565b612d4c565b346105ea575f3660031901126105ea57602065ffffffffffff60135460301c16604051908152f35b346105ea5760203660031901126105ea576004355f526006602052602060405f2054604051908152f35b9181601f840112156105ea578235916001600160401b0383116105ea57602083818601950101116105ea57565b346105ea5760803660031901126105ea576004803561114d81610662565b60243561115981610662565b604435906064356001600160401b0381116105ea5761117b9036908601611102565b91906111856132c3565b83156113c15761119482612de5565b84116113b057816111a88561120894613209565b5f549092906111ca9060101c6001600160a01b03165b6001600160a01b031690565b9560018060a01b03808816936040998a51986370a0823160e01b95868b528d8b8060209c8d9330908301919091602081019260018060a01b03169052565b03818b5afa9a8b15610de9578c958f948f925f9e61136d575b50935f938d98969361123e8b8f9c9a98956112599616809a613deb565b516323e30c8b60e01b8152998a988997889633908801612d9b565b03925af18015610de9577f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd9915f91611350575b500361134057865190815230888201908152909184918391908290819060200103915afa928315610de9575f93611321575b50506112ca8383612c63565b1061131157906112d991612c63565b806112f2575b826112e86132f2565b5160018152602090f35b60165461130a92906001600160a01b03165b90613deb565b81806112df565b50505051637f28d71160e01b8152fd5b611338929350803d10610de257610dd381836108a9565b905f806112be565b8651631e4ec46b60e01b81528890fd5b6113679150863d8811610de257610dd381836108a9565b5f61128c565b899795919e50938d9896938d9a958a3d8c116113a9575b61138e81836108a9565b810161139991612cd1565b9f92969850939698509398611221565b503d611384565b60405163347177ad60e21b81528690fd5b6040516391ba94bf60e01b81528690fd5b346105ea5760203660031901126105ea5760206109a26004356113f481610662565b612de5565b346105ea575f3660031901126105ea5760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346105ea575f3660031901126105ea5760206108096114546107e842613feb565b6130f1565b346105ea575f3660031901126105ea5760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346105ea575f3660031901126105ea57602060ff60165460a01c166040519015158152f35b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57602065ffffffffffff60135416604051908152f35b346105ea575f3660031901126105ea57602060ff60035460a01c166040519015158152f35b346105ea5760403660031901126105ea57600435611562610830565b61156a6132c3565b60035461157f906001600160a01b03166111be565b33036117ef576115916107e842613feb565b9061159b81612ea9565b90821515806117de575b80156117d5575b6117c357610712937ff9d090c096f71cd1659861a9ce5b6f384bceb4e2fa4e4a19edf6489a9b8d56c7926115de61401d565b946115f96115eb82612ceb565b5f52600660205260405f2090565b54908281036116dd575061160d8187612cf9565b838118818510028118968780611696575b50505050505b83611663575b6040805191825265ffffffffffff929092166020820152908101839052606090a16116536132f2565b6040519081529081906020820190565b5f546116919085906116809060101c6001600160a01b03166111be565b6001546001600160a01b0316611304565b61162a565b6116d293610c6b83610cc86116bc6116b56115eb986116cc9888613ec2565b8096612c63565b946116c642613feb565b92612c63565b92612ceb565b555f8080808761161e565b91506116f1825f52600660205260405f2090565b549061170181610d2b848a612cf9565b90848218828610028218978861171c575b5050505050611624565b6117919383611744936117518c61174c61173a611782998884613ec2565b9788958584613ec2565b948592612c63565b612c63565b9384841061179c575b610c6b90610cc86117709596976116c642613feb565b61177c6115eb87612ceb565b55612c63565b915f52600660205260405f2090565b555f80808080611712565b916117b8610c6b916117b2866117709798612c63565b90612cf9565b85945092905061175a565b604051635e18d2a560e01b8152600490fd5b508282116115ac565b506117e883612c55565b82106115a5565b60405163dabc4ad960e01b8152600490fd5b346105ea575f3660031901126105ea5761181d6107e842613feb565b60018101809111610819576108096020916130f1565b346105ea575f3660031901126105ea5760206109a26107e842613feb565b346105ea5760203660031901126105ea5760043561186e81610662565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346105ea5760203660031901126105ea5760206109a26107e8610845565b346105ea5760403660031901126105ea576004356118cc81610662565b6024356001600160401b038082116105ea57366023830112156105ea5781600401359081116105ea573660248260051b840101116105ea57610712926024611653930190612f94565b346105ea5760206109a261192836610ea7565b9061358a565b346105ea576020806003193601126105ea57600480359061194e82610662565b6119566132c3565b60025460a01c60ff16611aca576040516302910f8b60e31b81526001600160a01b03838116838301908152909491908290829081906020010381887f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f91611a9d575b5015611a8d5760405163fbfa77cf60e01b8152838516949082818581895afa928315610de9575f93611a5e575b505030911603611a4f5750600280546001600160a01b03929092166001600160a81b031990921691909117600160a01b1790557fdb2160616f776a37b24808115554e79439bf26cccbbd4438190cc6d28e80ecd15f80a26109f66132f2565b60405163b9f0f17160e01b8152fd5b611a7e929350803d10611a86575b611a7681836108a9565b8101906130c9565b905f806119f0565b503d611a6c565b506040516324e5af8d60e21b8152fd5b611abd9150823d8411611ac3575b611ab581836108a9565b8101906130b4565b5f6119c3565b503d611aab565b604051631380833b60e01b8152fd5b346105ea5760403660031901126105ea57611af2610845565b602435611afd6132c3565b611b056137bf565b60038110611d8f5765ffffffffffff9182611b2b60135465ffffffffffff9060601c1690565b168015159081611d79575b50611c7b575b60015460d01c838083169116818111611c69571480611c5e575b610b6b57611c33611c0a611c057f1b3efab1b836932ce515e4748ca76335809d1d202c92ee86d594e43ce0039e8395611ba5611ba0611b976107e842613feb565b600f5490612cf9565b601455565b6013805465ffffffffffff60901b1916609087901b65ffffffffffff60901b16179055611bd76114546107e842613feb565b90611bfe600f54611bf8611bed60015460d01c90565b65ffffffffffff1690565b906130de565b9116612cf9565b613feb565b6013805465ffffffffffff60601b191660609290921b65ffffffffffff60601b16919091179055565b611c3c82601055565b6040805165ffffffffffff9290921682526020820192909252a16109f66132f2565b5081600f5414611b56565b6040516359dcfd5560e11b8152600490fd5b611c86601154601255565b611cc0611c9560015460d01c90565b6bffffffffffff0000000000006013549160301b16906bffffffffffff000000000000191617601355565b600154611cec9060a01c65ffffffffffff1665ffffffffffff1665ffffffffffff196013541617601355565b611cf7601454601155565b601354611d2e9060901c65ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b031916919091179055565b601354611d699060601c65ffffffffffff166001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b16919091179055565b611d74601054600f55565b611b3c565b9050611d87611bed42613feb565b10155f611b36565b6040516317a509b960e31b8152600490fd5b346105ea5760203660031901126105ea57600435611dbe81610ad8565b611dc66132c3565b611dce613816565b601654901515908160ff8260a01c16151514610b6b5760ff60a01b191660a082901b60ff60a01b16176016556040519081527e4ea26b9681ba216ba307c9c0ee4edcef296c9af6506b16ad458a51431745d990602090a16109f66132f2565b346105ea575f3660031901126105ea576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b346105ea575f3660031901126105ea57611e8d6107e842613feb565b611e9561401d565b90805f52600660205260405f205482018092116108195760018101809111610819575f52600660205260405f2054810180911161081957604051908152602090f35b346105ea5760403660031901126105ea57602060ff611f29602435611efb81610662565b6004355f525f80516020614cd9833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346105ea575f3660031901126105ea576020601254604051908152f35b346105ea575f3660031901126105ea576020601154604051908152f35b346105ea5760203660031901126105ea57600435611f8c81610662565b60018060a01b03165f52600e60205260206109a260405f20614105565b346105ea576040806003193601126105ea57600435611fc781610662565b6024356001600160401b0381116105ea575f8061206593611fee6080943690600401611102565b908188519283928337810184815203915af43d1561206d5760203d612012816108d9565b9061201f875192836108a9565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f801991011681010360608101845201826108a9565b805190602001fd5b60206060612028565b346105ea575f3660031901126105ea57602065ffffffffffff60015460a01c16604051908152f35b346105ea575f3660031901126105ea57602060ff5f5460081c166040519015158152f35b346105ea575f3660031901126105ea5760206040515f8152f35b346105ea575f3660031901126105ea5760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105ea5760403660031901126105ea5760043561213381610662565b60243561213f81610ad8565b6121476132c3565b61214f61386d565b6001600160a01b0382169182156121e9575f8381526005602052604090205460ff16151582151514610b6b576001600160a01b03165f9081526005602052604090207ff991b1ecfb5115cbb36a2b2e2240c058406d2acc2fcc6e9e2dc99d845ff70a62916121de916121cc908260ff801983541691151516179055565b60405190151581529081906020820190565b0390a26109f66132f2565b604051630da30f6560e31b8152600490fd5b346105ea5760403660031901126105ea57602061223f60243561221d81610662565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346105ea5760403660031901126105ea57602060ff611f2960243561226c81610662565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346105ea575f3660031901126105ea5760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346105ea575f3660031901126105ea576016546040516001600160a01b039091168152602090f35b346105ea5760203660031901126105ea5760206108096004356130f1565b346105ea576020806003193601126105ea57600480359061232e82610662565b6123366132c3565b60035460a01c60ff166124a8576001600160a01b03828116939084612396575b6003805460ff60a01b1916600160a01b179055847fe7e4c932e03abddfe20f83af42c33627e816115c7ec2b168441f65dc14bfc3ba5f80a26109f66132f2565b6040516302910f8b60e31b81526001600160a01b0385168482019081528390829081906020010381857f0000000000000000000000000000000000000000000000000000000000000000165afa908115610de9575f9161248b575b501561247a5760405163fbfa77cf60e01b815282818581895afa928315610de9575f9361245b575b50503091160361244c5750600380546001600160a01b0319166001600160a01b039092169190911790555f808080612356565b604051633f3e089160e21b8152fd5b612472929350803d10611a8657611a7681836108a9565b905f80612419565b60405163dabc4ad960e01b81528390fd5b6124a29150833d8511611ac357611ab581836108a9565b5f6123f1565b60405163703fe2e560e01b8152fd5b346105ea5760403660031901126105ea576004356124d481610662565b602435906124e06132c3565b6001600160a01b0391818316908115612566576125116107129461250383613f4f565b9485915f5460101c16613deb565b604080519182526020820184905233917f865ca08d59f5cb456e85cd2f7ef63664ea4f73327414e9d8152c4158b0e946459190a360015f80516020614cf9833981519152556040519081529081906020820190565b604051634e46966960e11b8152600490fd5b346105ea5760203660031901126105ea576004355f526007602052602060405f2054604051908152f35b346105ea575f3660031901126105ea576003546040516001600160a01b039091168152602090f35b346105ea575f3660031901126105ea576020600f54604051908152f35b346105ea575f3660031901126105ea5760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346105ea575f3660031901126105ea5760206109a261401d565b346105ea5760203660031901126105ea576004356126576132c3565b335f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d6721660205260409020547f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792339060ff1615610fe457508060045414610b6b576020817f854df3eb95564502c8bc871ebdd15310ee26270f955f6c6bd8cea68e75045bc092600455604051908152a160015f80516020614cf983398151915255005b346105ea575f3660031901126105ea5760206109a2614091565b346105ea575f3660031901126105ea57602065ffffffffffff60135460901c16604051908152f35b346105ea5760203660031901126105ea5760043561275a81610662565b6127666107e842613feb565b61276f82612d4c565b9161277a8183613265565b830180931161081957600182018092116108195761279791613265565b810180911161081957602090604051908152f35b346105ea575f3660031901126105ea576020601054604051908152f35b346105ea575f3660031901126105ea5760206109a26131c9565b346105ea575f3660031901126105ea57602065ffffffffffff60135460601c16604051908152f35b346105ea575f3660031901126105ea576002546040516001600160a01b039091168152602090f35b346105ea5760403660031901126105ea576109f660243560043561285582610662565b805f525f80516020614cd9833981519152602052612879600160405f2001546138c4565b61398b565b346105ea5760203660031901126105ea5760043561289a6132c3565b335f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f860205260409020547fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7459060ff1615610fe457508060155414610b6b576020817f85370e46fb038a73f13e1c280ffc745e71ff72b4ea57b15c6eca3749d73c0cb892601555604051908152a160015f80516020614cf983398151915255005b346105ea575f3660031901126105ea575f5460405160109190911c6001600160a01b03168152602090f35b346105ea5760403660031901126105ea5760206109a260043561298b81610662565b60243590613209565b346105ea575f3660031901126105ea5760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105ea575f3660031901126105ea576020601554604051908152f35b346105ea575f3660031901126105ea576020604051633b9aca008152f35b346105ea575f3660031901126105ea576020600454604051908152f35b346105ea5760603660031901126105ea57600435612a4381610662565b612a4b610830565b6001600160401b0391906044358381116105ea57612a6d903690600401611102565b90926040938451612a7d8161086e565b60608152606060208201526060868201529280612adc575b61071286612acd8787612ac7612aae8984845191612c70565b9285612abe60208501518361358a565b930151906134b4565b91614158565b90519081529081906020820190565b81019392506020818503126105ea578035908682116105ea5701926060848203126105ea57845195612b0d8761086e565b84358181116105ea5782612b229187016108f4565b875260208501358181116105ea5782612b3c9187016108f4565b6020880152858501359081116105ea5761071296612b65612ac793612aae93612acd98016108f4565b87820152939450612a95565b346105ea5760403660031901126105ea57600435612b8e81610662565b602435612b996132c3565b6001600160a01b0382161561073d578015612c0557612bc8612bb9614091565b612bc161401d565b908361459b565b335f908152600e60205260409020909290612be290614105565b8311612bf3576106f8918391613305565b6040516321727a3760e11b8152600490fd5b604051636c6c627d60e11b8152600490fd5b346105ea5760403660031901126105ea5760206109a2602435612c3981610662565b600435613265565b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161081957565b9190820391821161081957565b6001600160a01b03165f908152600e60205260409020610ee592919061363f565b65ffffffffffff8060135460601c169081158015612cbe575b612cb2575090565b905060015460a01c1690565b508181612cca42613feb565b1610612caa565b908160209103126105ea575190565b6040513d5f823e3d90fd5b906001820180921161081957565b9190820180921161081957565b60135465ffffffffffff90818160601c168015908115612d38575b50612d2d5760901c1690565b505060015460d01c90565b905082612d4442613feb565b16105f612d21565b6001600160a01b03165f908152600e60205260409020612d6b90614105565b612d7361401d565b612d7b614091565b9060018101809111610819576001820180921161081957610ee592613ec2565b94919286949160c0979460018060a01b0380921688521660208701526040860152606085015260a060808501528160a0850152848401375f828201840152601f01601f1916010190565b601654612df69060a01c60ff161590565b612e5c575f5460101c6001600160a01b0390811691168103612e5c576040516370a0823160e01b815230600482015290602090829060249082905afa908115610de9575f91612e43575090565b610ee5915060203d602011610de257610dd381836108a9565b505f90565b65ffffffffffff918216908216039190821161081957565b634e487b7160e01b5f52601260045260245ffd5b9065ffffffffffff809116918215612ea457160490565b612e79565b60015465ffffffffffff808316929160a081901c821680851015612f215750506013549281841690818015918215612f17575b5050612f0557610ee5936117b292612efa611bed9360125496612e61565b9160301c1690612e8d565b60405163b7d0949760e01b8152600490fd5b109050815f612edc565b909160135490808260601c1695868015918215612f8a575b505015612f65575050610ee593506117b291612f5b611bed9260115495612e61565b9060d01c90612e8d565b6117b29350611bed9250612f7f610ee59660145496612e61565b9160901c1690612e8d565b109050865f612f39565b90612f9d6132c3565b5f926001600160a01b038316928315612566578115613047575f5b82811061302557505f547f326b6aff1cd2fb1c8234de4f9dcfb9047c5c36eb9ef2eb34af5121e969a75d2792869290916130089184916130039060101c6001600160a01b03166111be565b613deb565b613019604051928392339684613082565b0390a3906108d76132f2565b946130406001916117b261303a89878961306d565b35613f4f565b9501612fb8565b60405163edf3b93360e01b8152600490fd5b634e487b7160e01b5f52603260045260245ffd5b919081101561307d5760051b0190565b613059565b604080825281018390529392916001600160fb1b0381116105ea5760209160609160051b809183880137850101930152565b908160209103126105ea5751610ee581610ad8565b908160209103126105ea5751610ee581610662565b8181029291811591840414171561081957565b6012548082106131b757601154808310156131325750611c0590610ee592611bfe6131266013549365ffffffffffff93612c63565b828460301c16906130de565b9050601454801580156131ae575b156131785750610ee59165ffffffffffff61316e613164611c059460015494612c63565b8360d01c906130de565b9160a01c16612cf9565b611c059150610ee5926131a46131986013549365ffffffffffff93612c63565b828460901c16906130de565b9160601c16612cf9565b50808310613140565b60405163d5b25b6360e01b8152600490fd5b65ffffffffffff8060135460601c1680159182156131f4575b50506131ee5760105490565b600f5490565b90915061320042613feb565b16105f806131e2565b5f546001600160a01b039160109190911c821690821603613253576016541661323157505f90565b633b9aca006015546132438184613e44565b9209151581018091116108195790565b60405163350b944160e11b8152600490fd5b9061328b90825f52600860205260405f209060018060a01b03165f5260205260405f2090565b54905f52600660205260405f2054600760205260405f20549060018101809111610819576001820180921161081957610ee592613ec2565b5f80516020614cf983398151915260028154146132e05760029055565b604051633ee5aeb560e01b8152600490fd5b60015f80516020614cf983398151915255565b335f908152600e602052604090209392919061332042613feb565b335f908152600e6020526040902061333790614105565b91848303928311610819576133727febff2602b3f468259e1e99f613fed6691f3a6526effe6ef3e768ba7ae7a36c4f93859361340199613d2d565b505061338c61338042613feb565b610cdd8761174c614091565b50506133a661339a42613feb565b610cc88461174c61401d565b505061344f8161343a6133c36133be6107e842613feb565b612ceb565b6134196133d8825f52600660205260405f2090565b546133eb835f52600760205260405f2090565b546133f782828b614158565b9d8e998a93612cf9565b613413855f52600660205260405f2090565b55612cf9565b61342b825f52600760205260405f2090565b555f52600860205260405f2090565b9060018060a01b03165f5260205260405f2090565b61345a838254612cf9565b9055604080519485526020850195909552938301526001600160a01b03909216913391606090a3565b908160209103126105ea575163ffffffff811681036105ea5790565b90600163ffffffff8093160191821161081957565b9080511561358057806020806134cf93518301019101613483565b6134d8816143c9565b906134e9825165ffffffffffff1690565b9065ffffffffffff8085169216828114613574578211918261351f575b50506135165750610ee590614179565b60209150015190565b90915061352d600a54612c55565b63ffffffff831614918215613546575b50505f80613506565b61356c91925061356061355b611bed9261349f565b6143c9565b5165ffffffffffff1690565b115f8061353d565b50505060209150015190565b50610ee590614179565b9080511561363557806020806135a593518301019101613483565b6135ae81614453565b906135bf825165ffffffffffff1690565b9065ffffffffffff808516921682811461357457821191826135ec575b50506135165750610ee590614240565b9091506135fa600c54612c55565b63ffffffff831614918215613613575b50505f806135dc565b61362d919250613560613628611bed9261349f565b614453565b115f8061360a565b50610ee590614240565b91805115613701578060208061365a93518301019101613483565b9161366583826144d3565b92613676845165ffffffffffff1690565b9065ffffffffffff80851692168281146136f557821191826136ac575b50506136a357610ee59250614300565b50506020015190565b9091506136b98354612c55565b63ffffffff8316149182156136d2575b50505f80613693565b6136ed9192506135606136e7611bed9261349f565b856144d3565b115f806136c9565b50505050506020015190565b50610ee591614300565b335f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0239060ff905b541615610fe45750565b335f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac9060ff9061375e565b335f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec9060ff9061375e565b335f9081527f665296150f4083bfe5a58682f99690b24ea27a3f56243679fa9797c6a16217aa602052604090207fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a9060ff9061375e565b335f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e069060ff9061375e565b5f8181525f80516020614cd983398151915260209081526040808320338452909152902060ff9061375e565b5f8181525f80516020614cd9833981519152602081815260408084206001600160a01b03871685529091529091205460ff16613984575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b5f8181525f80516020614cd9833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615613984575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b6040516323b872dd60e01b60208201526001600160a01b03928316602482015292909116604483015260648083019390935291815260a08101918183106001600160401b03841117610889576108d792604052614541565b600b5481101561307d57600b5f525f80516020614cb983398151915201905f90565b600d5481101561307d57600d5f525f80516020614c9983398151915201905f90565b805482101561307d575f5260205f2001905f90565b600d54600160401b811015610889576001810180600d5581101561307d57600d5f525f80516020614c998339815191520155565b600b54600160401b811015610889576001810180600b5581101561307d57600b5f525f80516020614cb98339815191520155565b90815491600160401b8310156108895782613b599160016108d795018155613ab9565b90919082549060031b91821b915f19901b1916179055565b919091600d9081548015613c1c575b50613b896145d4565b50929091815492613b9861401d565b9481613c07575b5015613be457505f198201828111610819578154111561307d575f527fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb4018390559190565b613bf8926001600160d01b031691506147d0565b5050613c0383613ace565b9190565b65ffffffffffff83811691161490505f613b9f565b600160401b811015610889576001810180845581101561307d575f908382525f80516020614c9983398151915201555f613b80565b919091600b9081548015613cf8575b50613c69614629565b50929091815492613c78614091565b9481613ce3575b5015613cc457505f198201828111610819578154111561307d575f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db8018390559190565b613cd8926001600160d01b031691506148a0565b5050613c0383613b02565b65ffffffffffff83811691161490505f613c7f565b600160401b811015610889576001810180845581101561307d575f908382525f80516020614cb983398151915201555f613c60565b90929192600182019081548015613dbb575b5084613d4a8461467e565b50949092845493613d5a83614105565b9681613da6575b5015613d83575050505f19810190811161081957613b598591613c0393613ab9565b613c03949293613d9f926001600160d01b03909116919061493f565b5050613b36565b65ffffffffffff83811691161490505f613d61565b600160401b81101561088957806001613dd79201845583613ab9565b8154905f199060031b1b191690555f613d3f565b60405163a9059cbb60e01b60208201526001600160a01b03909216602483015260448083019390935291815260808101916001600160401b03831182841017610889576108d792604052614541565b8115612ea4570490565b90808202905f1981840990828083109203918083039214613eb557633b9aca009082821115613ea3577f88f2cfb83100cb4e69e7c79c58b316e597157d372fb9787e8e47ce423a2e9c6d940990828211900360f71b910360091c170290565b634e487b715f5260116020526024601cfd5b5050633b9aca0091500490565b91818302915f1981850993838086109503948086039514613f425784831115613f355790829109815f038216809204600280826003021880830282030280830282030280830282030280830282030280830282030280920290030293600183805f03040190848311900302920304170290565b82156003026011186146b7565b505090610ee59250613e3a565b90613f5c6107e842613feb565b8210156131b75760ff613f8c613f7a845f52600960205260405f2090565b335f9081526020919091526040902090565b5416613fd957613f9c3383613265565b918215613fc757613fba9061343a33915f52600960205260405f2090565b805460ff19166001179055565b6040516366c0bcbf60e11b8152600490fd5b604051630c8d9eab60e31b8152600490fd5b65ffffffffffff90818111613ffe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b600c548061405857505f5b6001600160d01b03811615612e5c57600d5481101561307d57600d5f525f80516020614c99833981519152015490565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460301c614028565b600a54806140cc57505f5b6001600160d01b03811615612e5c57600b5481101561307d57600b5f525f80516020614cb9833981519152015490565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c61409c565b80548061413a57505f5b6001600160d01b0381161561413457600161412a9201613ab9565b90549060031b1c90565b50505f90565b5f1990808281011161081957825f5260205f2001015460301c61410f565b919060018101809111610819576001820180921161081957610ee592613ec2565b600a54905f8291600584116141e7575b6141939350614b24565b806141b657505f5b6001600160d01b03811615612e5c5761412a610ee591613a75565b6141db6141c56141e292612c55565b600a5f525f80516020614c798339815191520190565b5460301c90565b61419b565b91926141f2816149f9565b81039081116108195761419393600a5f5265ffffffffffff80835f80516020614c79833981519152015416908516105f1461422e575091614189565b92915061423a90612ceb565b90614189565b600c54905f8291600584116142a7575b61425a9350614b8d565b8061427d57505f5b6001600160d01b03811615612e5c5761412a610ee591613a97565b6141db61428c6142a292612c55565b600c5f525f80516020614c598339815191520190565b614262565b91926142b2816149f9565b81039081116108195761425a93600c5f5265ffffffffffff80835f80516020614c59833981519152015416908516105f146142ee575091614250565b9291506142fa90612ceb565b90614250565b908154905f829160058411614363575b61431b935084614bf6565b8061434357505f905b6001600160d01b0382161561413457610ee591600161412a9201613ab9565b6141db61435261435d92612c55565b835f5260205f200190565b90614324565b919261436e816149f9565b81039081116108195761431b93855f5265ffffffffffff808360205f20015416908516105f1461439f575091614310565b9291506143ab90612ceb565b90614310565b604051906143be8261088e565b5f6020838281520152565b6143d16143b1565b506143da6143b1565b50600a5481101561307d57600a5f526020604051916143f88361088e565b5f80516020614c7983398151915201549165ffffffffffff83169283825260301c9182910152600b5481101561307d57600b5f525f80516020614cb98339815191520154604051916144498361088e565b8252602082015290565b61445b6143b1565b506144646143b1565b50600c5481101561307d57600c5f526020604051916144828361088e565b5f80516020614c5983398151915201549165ffffffffffff83169283825260301c9182910152600d5481101561307d57600d5f525f80516020614c998339815191520154604051916144498361088e565b90602060016144f7614523936144e76143b1565b506144f06143b1565b5085613ab9565b5093604051946145068661088e565b549465ffffffffffff86169586825260301c938491015201613ab9565b905490604051926145338461088e565b835260031b1c602082015290565b905f602091828151910182855af115612ce0575f513d61459257506001600160a01b0381163b155b6145705750565b604051635274afe760e01b81526001600160a01b039091166004820152602490fd5b60011415614569565b9190600181018091116108195760018201809211610819576145be828285613ec2565b928215612ea45709151581018091116108195790565b600c54806145e557505f905f905f90565b805f1981011161081957600c5f527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c6015460019165ffffffffffff82169160301c90565b600a548061463a57505f905f905f90565b805f1981011161081957600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460019165ffffffffffff82169160301c90565b80548061468f5750505f905f905f90565b5f19918183810111610819575f5260205f2001015460019165ffffffffffff82169160301c90565b634e487b715f526020526024601cfd5b600c5490600160401b821015610889576001820180600c5582101561307d57600c5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c5983398151915290910155565b600a5490600160401b821015610889576001820180600a5582101561307d57600a5f52805160209091015160301b65ffffffffffff191665ffffffffffff91909116175f80516020614c7983398151915290910155565b8054600160401b8110156108895761479291600182018155613ab9565b6147bd57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b600c5491929180156148775761428c6147e891612c55565b9081549165ffffffffffff908184169183168083116148655786920361482d5761482692509065ffffffffffff82549181199060301b169116179055565b60301c9190565b50506148609061484c61483e6108ca565b65ffffffffffff9092168252565b6001600160d01b03851660208201526146c7565b614826565b604051632520601d60e01b8152600490fd5b5061489b9061488761483e6108ca565b6001600160d01b03841660208201526146c7565b5f9190565b600a54919291801561491b576141c56148b891612c55565b9081549165ffffffffffff90818416918316808311614865578692036148f65761482692509065ffffffffffff82549181199060301b169116179055565b50506148609061490761483e6108ca565b6001600160d01b038516602082015261471e565b5061489b9061492b61483e6108ca565b6001600160d01b038416602082015261471e565b805492939280156149d45761495661496191612c55565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411614865578793036149a0575061482692509065ffffffffffff82549181199060301b169116179055565b915050614860916149c06149b26108ca565b65ffffffffffff9093168352565b6001600160d01b0386166020830152614775565b509061489b916149e56149b26108ca565b6001600160d01b0385166020830152614775565b6001811115610ee557600181600160801b811015614b12575b614aba614ab0614aa6614a9c614a92614a88614ac697600488600160401b614ac19a1015614b05575b640100000000811015614af8575b62010000811015614aeb575b610100811015614adf575b6010811015614ad3575b1015614acb575b60030260011c614a81818b613e3a565b0160011c90565b614a81818a613e3a565b614a818189613e3a565b614a818188613e3a565b614a818187613e3a565b614a818186613e3a565b8093613e3a565b821190565b900390565b60011b614a71565b811c9160021b91614a6a565b60081c91811b91614a60565b60101c9160081b91614a55565b60201c9160101b91614a49565b60401c9160201b91614a3b565b50600160401b9050608082901c614a12565b905b828110614b3257505090565b9091808216906001818418811c830180931161081957600a5f5265ffffffffffff80845f80516020614c79833981519152015416908616105f14614b7a575050915b90614b26565b9093925081018091116108195790614b74565b905b828110614b9b57505090565b9091808216906001818418811c830180931161081957600c5f5265ffffffffffff80845f80516020614c59833981519152015416908616105f14614be3575050915b90614b8f565b9093925081018091116108195790614bdd565b91905b838210614c065750505090565b909192808316906001818518811c830180931161081957855f5265ffffffffffff808460205f20015416908516105f14614c45575050925b9190614bf9565b9094935081018091116108195791614c3e56fedf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a264697066735822122082ca328ab99bb196c5160d9392504efc8b6e6656a057ff32d8ed717ebed826c864736f6c63430008190033","sourceMap":"1252:21269:107:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;1252:21269:107;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;1252:21269:107;-1:-1:-1;1252:21269:107;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;757:38:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;612:37:108;1252:21269:107;;;;-1:-1:-1;;;;;1252:21269:107;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;10891:21;10887:75;;11000:10;1252:21269;;;;6047:15;1252:21269;;;;;6047:33;;;:::i;:24::-;:33;:::i;:::-;10976:35;;10972:88;;1057:70:95;5628:21:107;;:::i;:::-;5272:22;;:::i;:::-;1057:70:95;;;:::i;:::-;11167:20:107;;;11163:82;;11270:43;;;;:::i;:::-;3426:1:30;;;:::i;:::-;1252:21269:107;;;;;;;;;;;;;;;;;;11163:82;1252:21269;;-1:-1:-1;;;;;;11210:24:107;;1252:21269;;11210:24;10972:88;1252:21269;;-1:-1:-1;;;11034:15:107;;1252:21269;;11034:15;10887:75;1252:21269;;-1:-1:-1;;;10935:16:107;;1252:21269;;10935:16;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;4919:24:23;1252:21269:107;-1:-1:-1;1252:21269:107;4919:24:23;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;3788:34:108;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;4331:25;819:34:73;837:15;819:34;:::i;:::-;4331:25:107;:::i;:::-;4680:10;;4676:65;;-1:-1:-1;;1252:21269:107;;;;;;;4757:21;1252:21269;4757:21;;:::i;:::-;1252:21269;;;;;;;;;;:::i;4676:65::-;1252:21269;;-1:-1:-1;;;4713:17:107;;1252:21269;;4713:17;1252:21269;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;;;;;1252:21269:107;;;;;;-1:-1:-1;;1252:21269:107;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;5831:59;1252:21269;;;;;;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;;-1:-1:-1;1252:21269:107;;;5831:15;1252:21269;;;;;5831:59;:::i;:::-;1252:21269;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;5350:25:23;1252:21269:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;3202:4:23;4919:24;1252:21269:107;-1:-1:-1;1252:21269:107;4919:24:23;1252:21269:107;3202:4:23;:::i;:::-;5350:25;:::i;:::-;1252:21269:107;;;;;;;-1:-1:-1;;1252:21269:107;;;;;2129:28:108;1252:21269:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;1479:40:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;1252:21269:107;;6441:34:23;6437:102;;6549:37;1252:21269:107;;;6549:37:23;:::i;6437:102::-;1252:21269:107;;-1:-1:-1;;;6498:30:23;;1252:21269:107;;6498:30:23;1252:21269:107;;;;;;-1:-1:-1;;1252:21269:107;;;;;6206:22;1252:21269;;;;6206:46;;;1252:21269;;;;;;;;;;;6206:46;-1:-1:-1;6232:20:107;1252:21269;;;;;6206:46;;1252:21269;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21269:107;;;;;;;;;;;16043:26;16039:76;;-1:-1:-1;;1252:21269:107;;;;;-1:-1:-1;1252:21269:107;;;;;;16166:27;;1252:21269;;16166:27;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21269:107;;16039:76;1252:21269;;-1:-1:-1;;;16092:12:107;;1252:21269;;16092:12;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;;;;8840:24;;8836:81;;-1:-1:-1;1252:21269:107;;;;8931:55;;;1252:21269;8927:118;;1252:21269;;-1:-1:-1;;;9079:43:107;;;9116:4;9079:43;;;1252:21269;;;;;;;;;;;;;;;;;;;;;;;;;9079:43;;;;;;;;;;-1:-1:-1;9079:43:107;;;1252:21269;;9195:6;1252:21269;;;9116:4;;9168:10;;9195:6;;:::i;:::-;-1:-1:-1;1252:21269:107;;;9230:43;;;9116:4;9230:43;;;1252:21269;;;;;;;;;;9230:43;1252:21269;;;;;;9230:43;1252:21269;;;;;9230:43;;;;;;;:59;:43;-1:-1:-1;9230:43:107;;;1252:21269;9230:59;;;:::i;:::-;9304:20;;;9300:79;;1252:21269;;;;;9393:64;;1252:21269;9389:123;;5628:21;;1252:21269;5628:21;9868:93;5628:21;;:::i;:::-;5272:22;9792:66;5272:22;;:::i;:::-;9715:67;390:70:95;;;;;:::i;:::-;837:15:73;9751:30:107;837:15:73;819:34;837:15;819:34;:::i;:::-;9751:30:107;;:::i;:::-;9715:67;;:::i;:::-;837:15:73;;9829:28:107;837:15:73;819:34;837:15;819:34;:::i;9829:28:107:-;9792:66;;:::i;:::-;-1:-1:-1;;;;;;;1252:21269:107;;;;;;6047:15;1252:21269;;;;;837:15:73;9919:41:107;837:15:73;6047:33:107;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;;;;;;6047:15;1252:21269;;;;;;;6047:33;9919:41;:::i;:::-;9868:93;;:::i;:::-;-1:-1:-1;;1252:21269:107;;;;;;;;;;;9168:10;;9977:62;;1252:21269;;9977:62;3426:1:30;;:::i;:::-;1252:21269:107;;;;;;;;;;;;;;;;;;;9389:123;1252:21269;;-1:-1:-1;;;9480:21:107;;;9393:64;5628:21;9411:31;5628:21;;;:::i;9411:31::-;1252:21269;;-1:-1:-1;9393:64:107;;9300:79;-1:-1:-1;1252:21269:107;;-1:-1:-1;;;9347:21:107;;;9230:43;;;;;;-1:-1:-1;9230:43:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;:::i;9079:::-;9195:6;9079:43;;;;;;;;;;;;;;;:::i;:::-;;;;;8927:118;-1:-1:-1;1252:21269:107;;-1:-1:-1;;;9009:25:107;;;8931:55;-1:-1:-1;8975:10:107;1252:21269;;;;8952:22;1252:21269;;;;;;;;8951:35;8931:55;;8836:81;1252:21269;;-1:-1:-1;;;8887:19:107;;;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;2293:34:108;1252:21269:107;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;5098:48;1252:21269;;;:::i;:::-;5098:48;;:::i;1252:21269::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;;1479:40:108;;1252:21269:107;;4468:23:23;4464:108;;-1:-1:-1;19706:16:107;1252:21269;-1:-1:-1;;;;;1252:21269:107;;;;;;19706:37;;19702:87;;-1:-1:-1;;;;;;1252:21269:107;;;19706:16;1252:21269;;;;;;19850:38;;1252:21269;;19850:38;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21269:107;;4464:108:23;1252:21269:107;;;;4514:47:23;;;;;;966:10:28;1252:21269:107;4514:47:23;;1252:21269:107;;;;;4514:47:23;1252:21269:107;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;16871:24;16867:74;;-1:-1:-1;;1252:21269:107;;;;;;;;-1:-1:-1;1252:21269:107;;;;;;16990:25;;1252:21269;;16990:25;3426:1:30;;:::i;1252:21269:107:-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3667:32:108;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;-1:-1:-1;1252:21269:107;2756:59:108;1252:21269:107;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;:::i;:::-;3361:103:30;;;;:::i;:::-;12559:10:107;;12555:70;;12646:19;;;:::i;:::-;12638:27;;12634:82;;12739:22;;;12837:44;12739:22;;:::i;:::-;-1:-1:-1;1252:21269:107;;;;12837:19;;1252:21269;;-1:-1:-1;;;;;1252:21269:107;;-1:-1:-1;;;;;1252:21269:107;;;12837:19;1252:21269;;;;;;;;;;;;;;;;;;12837:44;;;;1252:21269;;;;12875:4;;;;12837:44;;;1252:21269;;;;;;;;;;;;;;;;12837:44;;;;;;;;;;;;;;;;;-1:-1:-1;12837:44:107;;;1252:21269;;;-1:-1:-1;1252:21269:107;;;;;12944:5;1252:21269;;;;;;12965:57;1252:21269;;12944:5;;;:::i;:::-;1252:21269;-1:-1:-1;;;12965:57:107;;1252:21269;;;;;;;12986:10;;12965:57;;;:::i;:::-;;;;;;;;;1714:45:108;12965:57:107;-1:-1:-1;12965:57:107;;;1252:21269;12965:73;;12961:128;;1252:21269;;13122:44;;;12875:4;13122:44;;;1252:21269;;;;;;;;;13122:44;1252:21269;;;;;;13122:44;;;;;;;;;-1:-1:-1;13122:44:107;;;1252:21269;13180:28;;;;;;:::i;:::-;:34;13176:93;;13284:28;;;;:::i;:::-;13327:7;13323:93;;1252:21269;3426:1:30;;;:::i;:::-;1252:21269:107;13433:4;1252:21269;;;;;13323:93;13383:16;1252:21269;13401:3;;1252:21269;-1:-1:-1;;;;;1252:21269:107;;13401:3;;:::i;:::-;13323:93;;;;13176;1252:21269;;;;13237:21;;;;;;13122:44;;;;;;;-1:-1:-1;13122:44:107;;;;;;:::i;:::-;;;;;;12961:128;1252:21269;;-1:-1:-1;;;13061:17:107;;1252:21269;;13061:17;12965:57;;;;;;;;;;;;;;:::i;:::-;;;;12837:44;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;12634:82;1252:21269;;-1:-1:-1;;;12688:17:107;;1252:21269;;12688:17;12555:70;1252:21269;;-1:-1:-1;;;12592:22:107;;1252:21269;;12592:22;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;1041:36:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4486:26;:::i;1252:21269::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;1714:45:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;4048:28:108;1252:21269:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;1575:42;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3624:36:108;1252:21269:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;2461:32:108;1252:21269:107;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;13632:7:107;1252:21269;13618:21;;-1:-1:-1;;;;;1252:21269:107;;;13618:21;:10;:21;13614:71;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;13766;;;;:::i;:::-;13806:17;;;;:53;;;1252:21269;13805:87;;;;1252:21269;13801:146;;1252:21269;5628:21;15811:48;5628:21;;;:::i;:::-;14041:17;14029:30;14041:17;;;:::i;:::-;1252:21269;;14029:11;1252:21269;;;;;;;14029:30;1252:21269;;14073:29;;;;;14143:30;;;;;:::i;:::-;3066:5:68;;;3463;;;1252:21269:107;3060:42:68;;14253:17:107;;;14249:384;;14069:1615;;;;;;;15698:17;15694:102;;14069:1615;1252:21269;;;;;;;;;;;;;;;;;;;;;;;15811:48;3426:1:30;;:::i;:::-;1252:21269:107;;;;;;;;;;;;;15694:102;-1:-1:-1;1252:21269:107;15771:13;;1252:21269;;15731:18;;1252:21269;;-1:-1:-1;;;;;1252:21269:107;;;15731:18;14057:1;1252:21269;-1:-1:-1;;;;;1252:21269:107;;;15771:13;15694:102;;14249:384;14546:29;14314:50;14463:65;14314:50;14499:28;14415:29;14314:50;14558:16;14314:50;14578:40;14314:50;;;:::i;:::-;14415:29;;;:::i;:::-;837:15:73;819:34;837:15;819:34;:::i;:::-;14499:28:107;;:::i;14578:40::-;14558:16;;:::i;14546:29::-;1252:21269;14249:384;;;;;;;14069:1615;14686:26;;;;1252:21269;;14029:11;1252:21269;;;;;;;14686:26;1252:21269;14751:27;:45;:27;;;;;:::i;:45::-;3463:5:68;3066;;;3463;;;1252:21269:107;3060:42:68;;14876:17:107;;14872:802;;14069:1615;;;;;;;;14872:802;15597:26;14937:50;;15038:53;14937:50;15138:54;14937:50;15138:29;14937:50;15626:33;14937:50;;;;:::i;:::-;15038:53;;;;;;:::i;:::-;15138:29;;;;:::i;:::-;:54;:::i;:::-;15215:33;;;;15211:194;;14872:802;15423:65;837:15:73;15459:28:107;15539:40;837:15:73;;;819:34;837:15;819:34;:::i;15539:40:107:-;15506:30;15518:17;;;:::i;15506:30::-;1252:21269;15626:33;:::i;:::-;15597:26;1252:21269;;14029:11;1252:21269;;;;;;;15597:26;1252:21269;14872:802;;;;;;;15211:194;15298:33;15272:59;15423:65;15298:33;;;15539:40;15298:33;;;:::i;:::-;15272:59;;:::i;:::-;15353:33;;-1:-1:-1;15353:33:107;;-1:-1:-1;15211:194:107;;13801:146;1252:21269;;-1:-1:-1;;;13915:21:107;;1252:21269;;13915:21;13805:87;13864:28;;;;13805:87;;13806:53;13842:17;;;;:::i;:::-;13827:32;;13806:53;;13614:71;1252:21269;;-1:-1:-1;;;13662:12:107;;1252:21269;;13662:12;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;4933:1;1252:21269;;;;;;;4905:30;1252:21269;4905:30;;:::i;1252:21269::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;4331:25;819:34:73;837:15;819:34;:::i;1252:21269:107:-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21269:107;2632:68:108;1252:21269:107;;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11857:14;1252:21269;;11857:14;;:::i;1252:21269::-;;;;;5456:47;1252:21269;;;:::i;:::-;5456:47;;:::i;1252:21269::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20035:22:107;1252:21269;;;;;20031:89;;1252:21269;;-1:-1:-1;;;20135:49:107;;-1:-1:-1;;;;;1252:21269:107;;;20135:49;;;1252:21269;;;;;;;;;;;;;;;20135:49;20145:17;;;1252:21269;20135:49;;;;;;;-1:-1:-1;20135:49:107;;;1252:21269;20134:50;;20130:102;;1252:21269;;-1:-1:-1;;;20246:34:107;;1252:21269;;;;;20246:34;1252:21269;20246:34;1252:21269;;20246:34;;;;;;;-1:-1:-1;20246:34:107;;;1252:21269;20292:4;;;1252:21269;;20246:51;20242:107;;-1:-1:-1;20035:22:107;1252:21269;;-1:-1:-1;;;;;1252:21269:107;;;;-1:-1:-1;;;;;;1252:21269:107;;;;;;;-1:-1:-1;;;1252:21269:107;;;20437:24;-1:-1:-1;;20437:24:107;3426:1:30;;:::i;20242:107:107:-;1252:21269;;-1:-1:-1;;;20320:18:107;;;20246:34;;;;;;;-1:-1:-1;20246:34:107;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;20130:102;-1:-1:-1;1252:21269:107;;-1:-1:-1;;;20207:14:107;;;20135:49;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;20031:89;1252:21269;;-1:-1:-1;;;20080:29:107;;;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;17593:1:107;17562:32;;17558:106;;1252:21269;;;;17678:22;1252:21269;;;;;;;;;;17678:27;;;:73;;;;1252:21269;17674:505;;;1252:21269;18193:14;1252:21269;;;;;;;;;18193:31;;;18189:94;;18297:32;:96;;;1252:21269;18293:146;;18571:105;18596:80;18597:67;18765:62;837:15:73;18449:67:107;18471:45;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;18488:28;1252:21269;18471:45;;:::i;:::-;18449:67;1252:21269;;18449:67;17678:22;1252:21269;;-1:-1:-1;;;;1252:21269:107;;;;;-1:-1:-1;;;1252:21269:107;;;;4486:26;4331:25;819:34:73;837:15;819:34;:::i;4486:26:107:-;1252:21269;18619:45;18488:28;1252:21269;18619:45;1252:21269;18193:14;1252:21269;;;;;;;;;;18619:45;;;:::i;:::-;1252:21269;;18597:67;:::i;:::-;18596:80;:::i;:::-;17678:22;1252:21269;;-1:-1:-1;;;;1252:21269:107;;;;;;-1:-1:-1;;;1252:21269:107;;;;;;;;18571:105;18686:63;;;1252:21269;;18686:63;1252:21269;;;;;;;;;;;;;;;;;18765:62;3426:1:30;;:::i;18297:96:107:-;1252:21269;;18333:28;1252:21269;18333:60;18297:96;;18189:94;1252:21269;;-1:-1:-1;;;18247:25:107;;1252:21269;;18247:25;17674:505;17767:53;17797:23;1252:21269;17767:53;1252:21269;;17767:53;17834:35;1252:21269;17855:14;1252:21269;;;;;;;17678:22;1252:21269;;;;;;;;;;17678:22;1252:21269;;17834:35;17855:14;1252:21269;17883:43;;1252:21269;;;;;;;;17678:22;1252:21269;;;17678:22;1252:21269;;17883:43;17940:45;17966:19;1252:21269;17797:23;1252:21269;;17940:45;17678:22;1252:21269;17999:35;;1252:21269;;;;17855:14;1252:21269;;-1:-1:-1;;;;;1252:21269:107;;;;;;-1:-1:-1;;;;;;1252:21269:107;;;;;;;;17999:35;17678:22;1252:21269;18048:43;;1252:21269;;;;17855:14;1252:21269;;-1:-1:-1;;;;1252:21269:107;;;;;;-1:-1:-1;;;1252:21269:107;;;;;;;;18048:43;18105:63;18136:32;1252:21269;18105:63;1252:21269;;18105:63;17674:505;;17678:73;837:15:73;;17709:42:107;819:34:73;837:15;819:34;:::i;17709:42:107:-;-1:-1:-1;17709:42:107;17678:73;;;17558:106;1252:21269;;-1:-1:-1;;;17617:36:107;;1252:21269;;17617:36;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;19012:16:107;1252:21269;;;;;;;;;;;;;19012:26;19008:76;;-1:-1:-1;;;;1252:21269:107;;;;;-1:-1:-1;;;1252:21269:107;;19012:16;1252:21269;;;;;;19135:27;;1252:21269;;19135:27;3426:1:30;;:::i;1252:21269:107:-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;1666:40;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;5628:21;;:::i;:::-;1252:21269;;;;6432:11;1252:21269;;;;;;;;;;;;;6473:1;1252:21269;;;;;;;;;6432:11;1252:21269;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3901:31:23;1252:21269:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;;;;3901:31:23;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;3575:42:108;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;3530:38:108;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;1252:21269:107;6047:15;1252:21269;;;6047:33;1252:21269;-1:-1:-1;1252:21269:107;6047:33;:::i;1252:21269::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;1252:21269:107;;;;-1:-1:-1;1252:21269:107;477:31:86;1252:21269:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;1252:21269:107;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;477:31:86;;;1252:21269:107;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;477:31:86;1252:21269:107;477:31:86;;;;;;;:::i;:::-;518:79;;;1252:21269:107;518:79:86;;1252:21269:107;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;2090:32:108;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;900:35:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;3202:4:23;;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;;16408:21;;16404:75;;-1:-1:-1;1252:21269:107;;;16493:22;1252:21269;;;;;;;;;;;;;16493:41;16489:91;;-1:-1:-1;;;;;1252:21269:107;;;;;8952:22;1252:21269;;;;;16646:44;;;;16590:40;;:31;1252:21269;;;;;;;;;;;;;;16590:40;1252:21269;;;;;;;;;;;;;;;16646:44;;;;3426:1:30;;:::i;16404:75:107:-;1252:21269;;-1:-1:-1;;;16452:16:107;;1252:21269;;16452:16;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;2991:94:108;1252:21269:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21269:107;2991:94:108;1252:21269:107;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;;;;2991:94:108;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3141:92:108;1252:21269:107;;;;;:::i;:::-;;;-1:-1:-1;1252:21269:107;3141:92:108;1252:21269:107;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;1187:40:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;3961:31:108;1252:21269:107;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;3361:103:30;;:::i;:::-;20604:20:107;1252:21269;;;;;20600:85;;-1:-1:-1;;;;;1252:21269:107;;;;;;20695:312;;1252:21269;20604:20;1252:21269;;-1:-1:-1;;;;1252:21269:107;-1:-1:-1;;;1252:21269:107;;;21017:27;21060:20;-1:-1:-1;21060:20:107;;3426:1:30;;:::i;20695:312:107:-;1252:21269;;-1:-1:-1;;;20742:45:107;;-1:-1:-1;;;;;1252:21269:107;;20742:45;;;1252:21269;;;20742:45;;1252:21269;;;;;;20742:45;20752:15;;;1252:21269;20742:45;;;;;;;-1:-1:-1;20742:45:107;;;20695:312;20741:46;;20737:104;;1252:21269;;-1:-1:-1;;;20859:30:107;;;1252:21269;20859:30;1252:21269;20859:30;;;;;;;;-1:-1:-1;20859:30:107;;;20695:312;20901:4;;;1252:21269;;20859:47;20855:109;;-1:-1:-1;20604:20:107;1252:21269;;-1:-1:-1;;;;;;1252:21269:107;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;20695:312;;;;;;20855:109;1252:21269;;-1:-1:-1;;;20933:16:107;;;20859:30;;;;;;;-1:-1:-1;20859:30:107;;;;;;:::i;:::-;;;;;;20737:104;1252:21269;;-1:-1:-1;;;20814:12:107;;1252:21269;;20814:12;20742:45;;;;;;;;;;;;;;:::i;:::-;;;;20600:85;1252:21269;;-1:-1:-1;;;20647:27:107;;;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;3361:103:30;;;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;;;;11478:23;;11474:79;;11639:6;1252:21269;11572:13;;;;:::i;:::-;1252:21269;;;-1:-1:-1;1252:21269:107;;;;11639:6;:::i;:::-;1252:21269;;;;;;;;;;;;11668:10;;11662:43;;1252:21269;11662:43;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;;;;;;;11474:79;1252:21269;;-1:-1:-1;;;11524:18:107;;1252:21269;;11524:18;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;-1:-1:-1;1252:21269:107;2871:64:108;1252:21269:107;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;2383:22:108;1252:21269:107;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;3426:43:108;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;1333:36:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;5628:21;;:::i;1252:21269::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;;900:35:108;;1252:21269:107;;4468:23:23;4464:108;;1252:21269:107;;;;17193:21;17189:71;;1252:21269;;17306:22;1252:21269;;;;;;;;17306:22;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;5272:22;;:::i;1252:21269::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3749:32:108;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;7836:24;;;:::i;:::-;7863:29;;;;;:::i;:::-;1252:21269;;;;;;;7917:1;1252:21269;;;;;;;7895:33;;;:::i;:::-;1252:21269;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;3476:47:108;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3706:36:108;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;2213:24:108;1252:21269:107;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;5767:26:23;1252:21269:107;;;;;;;:::i;:::-;;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;3202:4:23;4919:24;1252:21269:107;-1:-1:-1;1252:21269:107;4919:24:23;1252:21269:107;3202:4:23;:::i;:::-;5767:26;:::i;1252:21269:107:-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;3361:103:30;;:::i;:::-;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;;1333:36:108;;1252:21269:107;;4468:23:23;4464:108;;1252:21269:107;;19349:12;1252:21269;19349:29;19345:79;;1252:21269;;19477:30;1252:21269;19349:12;1252:21269;;;;;;19477:30;1949:1:30;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;466:39:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;3878:27:108;1252:21269:107;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;1616:3:108;1252:21269:107;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;;;:::i;:::-;6654:48;;1252:21269;;;;;;;:::i;:::-;;;;;;;;;;;;;;6716:16;;6712:111;;1252:21269;;6915:39;1057:70:95;6915:39:107;;5098:48;6878:77;6915:39;;;;6878:77;;:::i;:::-;6994:36;;5456:47;1252:21269;6994:36;;;5456:47;;:::i;:::-;7071:37;;;5098:48;;:::i;:::-;1057:70:95;;:::i;:::-;1252:21269:107;;;;;;;;;;;;;6712:111;6771:41;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;5098:48;1252:21269;6878:77;1252:21269;1057:70:95;1252:21269:107;;;:::i;:::-;;;;;6712:111;;;;;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;:::i;:::-;;;3361:103:30;;:::i;:::-;-1:-1:-1;;;;;1252:21269:107;;10256:21;10252:75;;10341:11;;10337:73;;845:69:95;5272:22:107;;:::i;:::-;5628:21;;:::i;:::-;845:69:95;;;:::i;:::-;10546:10:107;1252:21269;;;;6047:15;1252:21269;;;;;10546:10;;;6047:33;;;:::i;:::-;10516:41;;10512:96;;10633:40;;;;;:::i;10512:96::-;1252:21269;;-1:-1:-1;;;10580:17:107;;1252:21269;;10580:17;10337:73;1252:21269;;-1:-1:-1;;;10375:24:107;;1252:21269;;10375:24;1252:21269;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;:::o;:::-;;;;;;;;;;:::o;5704:193::-;-1:-1:-1;;;;;1252:21269:107;-1:-1:-1;1252:21269:107;;;5831:15;1252:21269;;;;;5831:59;;5704:193;;5831:59;:::i;2517:241::-;1252:21269;;2589:22;1252:21269;;;;2589:27;;;:72;;;;2517:241;2585:128;;2722:29;2517:241;:::o;2585:128::-;1252:21269;;2684:18;1252:21269;;;;2677:25;:::o;2589:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21269:107;2620:41;2589:72;;1252:21269;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;14057:1;1252:21269;;;;;;;:::o;:::-;;;;;;;;;;:::o;2240:229::-;2308:22;1252:21269;;;;;;;;2308:27;;:72;;;;;2240:229;2304:124;;;1252:21269;;;2240:229;:::o;2304:124::-;1252:21269;;2403:14;1252:21269;;;2396:21;:::o;2308:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21269:107;2339:41;2308:72;;;7174:191;-1:-1:-1;;;;;1252:21269:107;-1:-1:-1;1252:21269:107;;;6047:15;1252:21269;;;;;6047:33;;;:::i;:::-;5628:21;;:::i;:::-;5272:22;;:::i;:::-;1252:21269;1884:1:95;1252:21269:107;;;;;;;1884:1:95;1252:21269:107;;;;;;;9478:25:68;;;:::i;1252:21269:107:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;:::o;7996:283::-;8092:16;1252:21269;8091:17;;1252:21269;;;;8951:35;;1252:21269;8091:17;8087:56;;8174:10;1252:21269;;;-1:-1:-1;;;;;1252:21269:107;;;;;8201:20;;1252:21269;;;;-1:-1:-1;;;8224:44:107;;8262:4;8224:44;;;1252:21269;;8224:44;;1252:21269;;;;;;8224:44;;;;;;;8174:10;8224:44;;;8201:71;7996:283;:::o;8224:44::-;;;;;;;;;;;;;;:::i;8201:71::-;;8174:10;7996:283;:::o;1252:21269::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;2806:693::-;2911:18;1252:21269;;;;;;;;;;;;;2899:30;;;;;;1252:21269;;2949:22;1252:21269;;;;;2949:27;;;;:65;;;;;2895:598;2945:129;;;;3094:87;1252:21269;3094:87;1252:21269;3125:34;3124:57;1252:21269;3094:27;1252:21269;3125:34;;:::i;:::-;1252:21269;;;;3124:57;;:::i;2945:129::-;1252:21269;;-1:-1:-1;;;3041:18:107;;;;;2949:65;2980:34;;-1:-1:-1;2949:65:107;;;;2895:598;1252:21269;;3202:22;1252:21269;;;;;;;3202:27;;;;:65;;;;;2895:598;-1:-1:-1;;3198:295:107;;;1252:21269;;3290:75;1252:21269;;3290:75;1252:21269;3317:30;3316:49;1252:21269;3290:23;1252:21269;3317:30;;:::i;:::-;1252:21269;;;3316:49;;:::i;3198:295::-;3403:79;1252:21269;;3425:57;1252:21269;;3426:34;3403:79;1252:21269;3403:19;1252:21269;3426:34;;:::i;:::-;1252:21269;;;;3425:57;;:::i;3202:65::-;3233:34;;-1:-1:-1;3202:65:107;;;;3361:103:30;;;;:::i;:::-;1252:21269:107;;-1:-1:-1;;;;;1252:21269:107;;;11887:23;;11883:79;;12016:11;;12012:70;;1252:21269;12108:10;;;;;;-1:-1:-1;1252:21269:107;;12253:49;;1252:21269;;;;12230:6;;1252:21269;;12187:18;;1252:21269;;-1:-1:-1;;;;;1252:21269:107;;;12187:18;12230:6;:::i;:::-;12253:49;1252:21269;;12264:10;;;;12253:49;;;:::i;:::-;;;;3426:1:30;;;:::i;12120:3:107:-;12156:9;12139:27;1252:21269;12156:9;12149:17;12156:9;;;;;:::i;:::-;1252:21269;12149:17;:::i;12139:27::-;12120:3;1252:21269;12097:9;;12012:70;1252:21269;;-1:-1:-1;;;12050:21:107;;;;;1252:21269;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::o;3547:665::-;3647:27;1252:21269;3639:35;;;3635:87;;3744:23;1252:21269;3736:31;;;;;;1252:21269;3791:83;1252:21269;3790:96;1252:21269;3816:58;3817:35;3791:22;1252:21269;;;3817:35;;:::i;:::-;1252:21269;;;;;3816:58;;:::i;3732:474::-;1252:21269;;3907:19;1252:21269;3907:24;;:55;;;;3732:474;3903:303;;;1252:21269;3985:84;1252:21269;;4007:50;4008:31;3986:71;1252:21269;3986:18;1252:21269;4008:31;;:::i;:::-;1252:21269;;;4007:50;;:::i;:::-;1252:21269;;;;3986:71;:::i;3903:303::-;4108:75;1252:21269;;4107:88;1252:21269;4133:50;4134:27;4108:22;1252:21269;;;4134:27;;:::i;:::-;1252:21269;;;;;4133:50;;:::i;:::-;1252:21269;;;;4108:75;:::i;3907:55::-;3935:27;;;;3907:55;;3635:87;1252:21269;;-1:-1:-1;;;3697:14:107;;;;;1918:274;1252:21269;;2003:22;1252:21269;;;;2003:27;;:72;;;;;1918:274;1999:138;;;;2153:32;1252:21269;1918:274;:::o;1999:138::-;2098:28;1252:21269;2091:35;:::o;2003:72::-;837:15:73;;;819:34;837:15;819:34;:::i;:::-;1252:21269:107;2034:41;2003:72;;;;8340:285;8441:10;1252:21269;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;8432:19;8428:75;;8519:16;1252:21269;;8519:99;;;8441:10;8340:285;:::o;8519:99::-;1616:3:108;8569:12:107;1252:21269;9478:25:68;;;;:::i;:::-;9552;;:29;;1252:21269:107;;;;;;;8340:285;:::o;8428:75::-;1252:21269;;-1:-1:-1;;;8474:18:107;;;;;7413:227;;7553:34;7413:227;1252:21269;-1:-1:-1;1252:21269:107;7553:18;1252:21269;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;;;;;;;7553:34;1252:21269;;-1:-1:-1;1252:21269:107;7589:11;1252:21269;;;-1:-1:-1;1252:21269:107;;7609:16;1252:21269;;;-1:-1:-1;1252:21269:107;;;1884:1:95;1252:21269:107;;;;;;;1884:1:95;1252:21269:107;;;;;;;9478:25:68;;;:::i;3470:384:30:-;-1:-1:-1;;;;;;;;;;;1991:1:30;1252:21269:107;;3670:20:30;3666:88;;1991:1;1252:21269:107;;3470:384:30:o;3666:88::-;1252:21269:107;;-1:-1:-1;;;3713:30:30;;;;;3860:283;1949:1;-1:-1:-1;;;;;;;;;;;1252:21269:107;3860:283:30:o;21093:960:107:-;21272:10;1252:21269;;;;6047:15;1252:21269;;;;;;21093:960;;;819:34:73;837:15;819:34;:::i;:::-;21272:10:107;1252:21269;;;;6047:15;1252:21269;;;;;6047:33;;;:::i;:::-;1252:21269;;;;;;;;;21256:93;21972:74;21256:93;;;21797:30;21256:93;;:::i;:::-;837:15:73;;21359:67:107;819:34:73;837:15;819:34;:::i;:::-;21396:29:107;5272:22;;;:::i;21359:67::-;837:15:73;;21436:68:107;819:34:73;837:15;819:34;:::i;:::-;21472:31:107;5628:21;;;:::i;21436:68::-;837:15:73;;21906:34:107;837:15:73;21906:25:107;21531:18;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;21531:18;:::i;:::-;21863:33;21582:18;;1252:21269;;14029:11;1252:21269;;;;;;;21582:18;1252:21269;21639:23;;1252:21269;;21639:16;1252:21269;;;;;;;21639:23;1252:21269;390:70:95;;;;;:::i;:::-;21797:30:107;;;;;;:::i;:::-;21776:18;;1252:21269;;14029:11;1252:21269;;;;;;;21776:18;1252:21269;21863:33;:::i;:::-;21837:23;;1252:21269;;21639:16;1252:21269;;;;;;;21837:23;1252:21269;;;21906:18;1252:21269;;;;;;;21906:25;1252:21269;;;;;;;;;;;;;;;;21906:34;:50;1252:21269;;;21906:50;:::i;:::-;1252:21269;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;21272:10;;1252:21269;;21972:74;21093:960::o;1252:21269::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;7558:604:94:-;;1252:21269:107;;7686:17:94;7682:83;;1252:21269:107;7789:27:94;1252:21269:107;7789:27:94;1252:21269:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21269:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;7789:27;8082:17;;;1252:21269:107;8075:24:94;:::o;7975:84::-;1252:21269:107;;;8009:16:94;5098:13:107;1252:21269;8009:16:94;:::i;:::-;1252:21269:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:::-;1252:21269:107;;;;;8029:29:94;;8001:57;;;;7884:77;7933:17;;;7789:27;7933:17;;;1252:21269:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;7558:604::-;;1252:21269:107;;7686:17:94;7682:83;;1252:21269:107;7789:27:94;1252:21269:107;7789:27:94;1252:21269:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;:::i;:::-;1252:21269:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7975:84::-;1252:21269:107;;;8009:16:94;5456:12:107;1252:21269;8009:16:94;:::i;:::-;1252:21269:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;:::i;:29::-;;8001:57;;;;7682:83;7726:28;;;;:::i;7558:604::-;;1252:21269:107;;7686:17:94;7682:83;;1252:21269:107;7789:27:94;1252:21269:107;7789:27:94;1252:21269:107;;7789:27:94;;;;;;:::i;:::-;7860:14;;;;;:::i;:::-;1252:21269:107;;;;;;;;;;;;;;;;7888:22:94;;;7884:77;;7975:21;-1:-1:-1;7975:84:94;;;;7558:604;7971:139;;;;8127:28;;;;:::i;7971:139::-;8082:17;;7789:27;8082:17;1252:21269:107;8075:24:94;:::o;7975:84::-;1252:21269:107;;;8009:16:94;1252:21269:107;;8009:16:94;:::i;:::-;1252:21269:107;;;8001:24:94;:57;;;;;7975:84;;;;;;;8001:57;8029:29;8038:8;;;8029:18;8038:8;8029:23;8038:8;;:::i;:::-;8029:18;;:::i;:29::-;;8001:57;;;;7884:77;7933:17;;;;;7789:27;7933:17;1252:21269:107;7926:24:94;:::o;7682:83::-;7726:28;;;;:::i;4148:103:23:-;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;466:39:108;;1252:21269:107;;3901:31:23;1252:21269:107;;4468:23:23;4464:108;;4148:103;:::o;:::-;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;757:38:108;;1252:21269:107;;3901:31:23;1252:21269:107;4148:103:23;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;1041:36:108;;1252:21269:107;;3901:31:23;1252:21269:107;4148:103:23;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;1187:40:108;;1252:21269:107;;3901:31:23;1252:21269:107;4148:103:23;966:10:28;-1:-1:-1;1252:21269:107;;;;;;;;;612:37:108;;1252:21269:107;;3901:31:23;1252:21269:107;4148:103:23;-1:-1:-1;1252:21269:107;;;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;966:10:28;1252:21269:107;;;;;;;;;3901:31:23;1252:21269:107;7270:387:23;-1:-1:-1;1252:21269:107;;;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;-1:-1:-1;;1252:21269:107;7509:4:23;1252:21269:107;;;966:10:28;;-1:-1:-1;;;;;1252:21269:107;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7892:388::-;-1:-1:-1;1252:21269:107;;;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21269:107;;;;;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;966:10:28;;-1:-1:-1;;;;;1252:21269:107;;8155:40:23;-1:-1:-1;;8155:40:23;1252:21269:107;8209:11:23;:::o;1670:188:55:-;1252:21269:107;;-1:-1:-1;;;1797:53:55;;;;-1:-1:-1;;;;;1252:21269:107;;;1797:53:55;;;1252:21269:107;;;;;;;;;;;;;;;;;1797:53:55;;;1252:21269:107;;;;;;;-1:-1:-1;;;;;1252:21269:107;;;;;1797:53:55;1252:21269:107;;;1797:53:55;:::i;1252:21269:107:-;7178:12:94;1252:21269:107;;;;;;7178:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;-1:-1:-1;1252:21269:107;:::o;:::-;7178:12:94;1252:21269:107;;;;;;7178:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;-1:-1:-1;1252:21269:107;:::o;:::-;;;;;;;;-1:-1:-1;1252:21269:107;;-1:-1:-1;1252:21269:107;;;-1:-1:-1;1252:21269:107;:::o;:::-;6360:12:94;1252:21269:107;-1:-1:-1;;;1252:21269:107;;;;;;;;;6360:12:94;1252:21269:107;;;;;;6360:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;:::o;:::-;6360:12:94;1252:21269:107;-1:-1:-1;;;1252:21269:107;;;;;;;;;6360:12:94;1252:21269:107;;;;;;6360:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;:::o;:::-;;;;;-1:-1:-1;;;1252:21269:107;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;6360:12;1252:21269:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21269:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21269:107;;;;;;;;;-1:-1:-1;1252:21269:107;;;-1:-1:-1;1252:21269:107;;;;;;6798:25:94;1252:21269:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21269:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;:::-;6798:25;6246:584;:::o;6604:24::-;1252:21269:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21269:107;;;;-1:-1:-1;;;;;;;;;;;1252:21269:107;;6356:75:94;;;6246:584;;;;6360:12;1252:21269:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;:::i;:::-;1252:21269:107;;;;;;6578:12:94;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;1252:21269:107;;;;;;;;;-1:-1:-1;1252:21269:107;;;-1:-1:-1;1252:21269:107;;;;;;6798:25:94;1252:21269:107;6246:584:94:o;6600:188::-;8310:38:71;;-1:-1:-1;;;;;1252:21269:107;;-1:-1:-1;8310:38:71;:::i;:::-;6753:24:94;;;;;:::i;6604:::-;1252:21269:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21269:107;;;;;;;;;;;;;;;;-1:-1:-1;1252:21269:107;;;;-1:-1:-1;;;;;;;;;;;1252:21269:107;;6356:75:94;;;6246:584;;;;;6360:12;;;1252:21269:107;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;1252:21269:107;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;6644:21:94;;;:29;:21;;:::i;6600:188::-;6753:24;;1252:21269:107;;8310:38:71;;-1:-1:-1;;;;;1252:21269:107;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;1252:21269:107;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;1252:21269:107;;;;;;6360:12:94;1252:21269:107;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;1271:160:55;1252:21269:107;;-1:-1:-1;;;1380:43:55;;;;-1:-1:-1;;;;;1252:21269:107;;;1380:43:55;;;1252:21269:107;;;;;;;;;1380:43:55;;;1252:21269:107;;;;-1:-1:-1;;;;;1252:21269:107;;;;;;;;1380:43:55;1252:21269:107;;;1380:43:55;:::i;1252:21269:107:-;;;;;;;:::o;4996:4226:68:-;;1252:21269:107;;;;-1:-1:-1;;4996:4226:68;;5584:131;;;;;;;;;;;;5796:10;;5792:368;;1616:3:108;6270:20:68;;;;;6266:143;;1252:21269:107;6695:300:68;;;;;;;;1252:21269:107;;6695:300:68;;7259:375;;7700:21;1252:21269:107;4996:4226:68;:::o;6266:143::-;1829:135:59;;;940:4;1829:135;;;;;5792:368:68;1252:21269:107;;1616:3:108;1252:21269:107;;;6119:26:68;:::o;4996:4226::-;;1252:21269:107;;;;-1:-1:-1;;1252:21269:107;4996:4226:68;5584:131;;;;;;;;;;;;5796:10;;5792:368;;6270:20;;;;6266:143;;6695:300;;;;940:4:59;-1:-1:-1;940:4:59;7214:31:68;;7259:375;;;8094:1;1252:21269:107;;8075:1:68;1252:21269:107;8074:21:68;1252:21269:107;;;940:4:59;;1252:21269:107;;;;940:4:59;;1252:21269:107;;;;940:4:59;;1252:21269:107;;;;940:4:59;;1252:21269:107;;;;940:4:59;;1252:21269:107;;;;940:4:59;;1252:21269:107;7259:375:68;;;;-1:-1:-1;7259:375:68;;;6695:300;;;;;;1252:21269:107;6695:300:68;;7259:375;7700:21;1252:21269:107;4996:4226:68;:::o;6266:143::-;6330:16;;3066:5;1252:21269:107;940:4:59;3060:42:68;6322:71;:::i;5792:368::-;6126:19;;;;;;;:::i;22059:460:107:-;;4331:25;819:34:73;837:15;819:34;:::i;4331:25:107:-;22152:23;;;22148:75;;1252:21269;22237:39;:27;;1252:21269;;22237:20;1252:21269;;;;;;;22237:27;22265:10;1252:21269;;;;;;;;;;;;;;22237:39;1252:21269;;22233:93;;22345:32;22265:10;22345:32;;:::i;:::-;22392:11;;;22388:68;;22466:39;22265:10;22466:27;22265:10;22466:27;1252:21269;;22237:20;1252:21269;;;;;;;22466:39;1252:21269;;-1:-1:-1;;1252:21269:107;22508:4;1252:21269;;;22059:460::o;22388:68::-;1252:21269;;-1:-1:-1;;;22426:19:107;;;;;22233:93;1252:21269;;-1:-1:-1;;;22299:16:107;;;;;14296:213:69;1252:21269:107;14374:24:69;;;;14370:103;;1252:21269:107;14296:213:69;:::o;14370:103::-;1252:21269:107;;;;14421:41:69;;;;;;14452:2;14421:41;;;1252:21269:107;;;;;14421:41:69;10580:184:94;5628:12:107;1252:21269;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21269:107;;10726:7:94;1252:21269:107;;10736:12:94;1252:21269:107;;;;;;10736:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;10580:184:94;:::o;10446:63:71:-;1252:21269:107;;;;;;;;5628:12;-1:-1:-1;14439:109:71;;;1252:21269:107;;;10446:63:71;;10580:184:94;5272:13:107;1252:21269;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21269:107;;10726:7:94;1252:21269:107;;10736:12:94;1252:21269:107;;;;;;10736:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;10580:184:94;:::o;10446:63:71:-;1252:21269:107;;;;;;;;5272:13;-1:-1:-1;14439:109:71;;;1252:21269:107;;;10446:63:71;;10580:184:94;1252:21269:107;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;1252:21269:107;;10726:7:94;1252:21269:107;;10736:12:94;:17;:12;;:17;:::i;:::-;1252:21269:107;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;1252:21269:107;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;1252:21269:107;;;10446:63:71;;1662:280:95;;;1884:1;1252:21269:107;;;;;;;1884:1:95;1252:21269:107;;;;;;;9478:25:68;;;:::i;6999:207:94:-;5098:13:107;1252:21269;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1252:21269:107;;7168:7:94;1252:21269:107;;7178:17:94;1252:21269:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5098:13:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:41;1252:21269:107;;;;;10135:48:71;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21269:107;;;;;;;10049:53:71;14439:109;5098:13:107;-1:-1:-1;14439:109:71;1252:21269:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21269:107;;;;;9870:48:71;9866:149;1252:21269:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;5456:12:107;1252:21269;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;-1:-1:-1;;;;;1252:21269:107;;7168:7:94;1252:21269:107;;7178:17:94;1252:21269:107;7178:17:94;;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;5456:12:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;14289:265;;10135:48;10120:63;;9791:234;9838:14;;;;;:::i;:::-;1252:21269:107;;;;;;;10049:53:71;14439:109;5456:12:107;-1:-1:-1;14439:109:71;1252:21269:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21269:107;;;;;9870:48:71;9866:149;1252:21269:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;6999:207:94;;1252:21269:107;;9737:15:71;-1:-1:-1;9762:18:71;9795:7;9801:1;9795:7;;9791:234;;6999:207:94;10049:53:71;;;;;:::i;:::-;10120:8;;;:63;-1:-1:-1;10120:63:71;;-1:-1:-1;;;;;1252:21269:107;;7168:7:94;1252:21269:107;;;7178:12:94;;:17;:12;;:17;:::i;10120:63:71:-;10135:41;10168:7;10135:48;10168:7;;:::i;:::-;10135:41;14439:109;;;;;;14289:265;;10135:48;10120:63;;;9791:234;9838:14;;;;;:::i;:::-;1252:21269:107;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;1252:21269:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21269:107;;;;;9870:48:71;9866:149;1252:21269:107;;;9938:10:71;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;1252:21269:107;;;;;;;:::i;:::-;-1:-1:-1;1252:21269:107;;;;;;;:::o;11486:272:94:-;1252:21269:107;;:::i;:::-;;;;:::i;:::-;;5098:13;1252:21269;;;;;;5098:13;-1:-1:-1;1252:21269:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21269:107;;;;;;11718:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;:::i;:::-;;;;11672:79:94;;1252:21269:107;11486:272:94;:::o;:::-;1252:21269:107;;:::i;:::-;;;;:::i;:::-;;5456:12;1252:21269;;;;;;5456:12;-1:-1:-1;1252:21269:107;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;;;;;;;;;;11718:12:94;1252:21269:107;;;;;;11718:12:94;-1:-1:-1;1252:21269:107;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;;;;;:::i;11486:272:94:-;;1252:21269:107;11718:12:94;11452:22:71;11718:31:94;11486:272;1252:21269:107;;:::i;:::-;;;;:::i;:::-;;11452:22:71;;:::i;:::-;1252:21269:107;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;11718:12:94;:31;:::i;:::-;1252:21269:107;;;;;;;;;:::i;:::-;;;;;;;11672:79:94;;1252:21269:107;11486:272:94;:::o;7738:720:55:-;;-1:-1:-1;7875:421:55;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:55;;8310:15;;-1:-1:-1;;;;;;1252:21269:107;;8328:26:55;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1252:21269:107;;-1:-1:-1;;;8401:40:55;;-1:-1:-1;;;;;1252:21269:107;;;8401:40:55;;;1252:21269:107;;;8401:40:55;8310:68;8377:1;8362:16;;8310:68;;1258:280:95;;;1252:21269:107;;;;;;;;;;;;;;;;9478:25:68;;;;;:::i;:::-;9552;;;;;;:29;;1252:21269:107;;;;;;;1258:280:95;:::o;10695:389:71:-;5628:12:107;1252:21269;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21269:107;;;;;;;;5628:12;10833:17:71;14439:109;;;1252:21269:107;11014:1:71;;1252:21269:107;;;;;;;11030:37:71:o;10695:389::-;5272:13:107;1252:21269;10871:8:71;;;10895:20;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21269:107;;;;;;;;5272:13;10833:17:71;14439:109;;;1252:21269:107;11014:1:71;;1252:21269:107;;;;;;;11030:37:71:o;10695:389::-;1252:21269:107;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;1252:21269:107;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;1252:21269:107;11014:1:71;1252:21269:107;;;;;;;11030:37:71;:::o;1776:194:59:-;1829:135;;;;;;;;1252:21269:107;5628:12;1252:21269;;-1:-1:-1;;;1252:21269:107;;;;;;;;;5628:12;1252:21269;;;;;;5628:12;-1:-1:-1;1252:21269:107;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;:::o;:::-;5272:13;1252:21269;;-1:-1:-1;;;1252:21269:107;;;;;;;;;5272:13;1252:21269;;;;;;5272:13;-1:-1:-1;1252:21269:107;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;-1:-1:-1;;;;;;;;;;;1252:21269:107;;;;:::o;:::-;;;-1:-1:-1;;;1252:21269:107;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;1252:21269:107;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;5628:12:107;1252:21269;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21269:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21269:107;;;;;;;;;;;;;;;;;12285:19:71;1252:21269:107;;12423:25:71;;:::o;12247:163::-;1252:21269:107;;12343:52:71;1252:21269:107;12353:41:71;1252:21269:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21269:107;;12353:41:71;;;1252:21269:107;12343:52:71;:::i;:::-;12247:163;;12099:89;1252:21269:107;;-1:-1:-1;;;12143:30:71;;;;;11860:713;1252:21269:107;12479:52:71;1252:21269:107;12489:41:71;1252:21269:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21269:107;;12489:41:71;;;1252:21269:107;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;11657:922::-;5272:13:107;1252:21269;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;11916:28::-;1252:21269:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;1252:21269:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21269:107;;12343:52:71;1252:21269:107;12353:41:71;1252:21269:107;;:::i;12353:41:71:-;-1:-1:-1;;;;;1252:21269:107;;12353:41:71;;;1252:21269:107;12343:52:71;:::i;11860:713::-;1252:21269:107;12479:52:71;1252:21269:107;12489:41:71;1252:21269:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21269:107;;12489:41:71;;;1252:21269:107;12343:52:71;:::i;11657:922::-;1252:21269:107;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;1252:21269:107;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;1252:21269:107;;;;;;;;;;;;;;;;;12247:163:71;1252:21269:107;;;12343:52:71;1252:21269:107;12353:41:71;1252:21269:107;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;1252:21269:107;;12353:41:71;;;1252:21269:107;12343:52:71;:::i;11860:713::-;1252:21269:107;;12479:52:71;1252:21269:107;12489:41:71;1252:21269:107;;:::i;12489:41:71:-;-1:-1:-1;;;;;1252:21269:107;;12489:41:71;;;1252:21269:107;12343:52:71;:::i;18080:5181:68:-;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:68;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:68;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;1252:21269:107;18246:1:68;1252:21269:107;22284:6:68;;;;:::i;:::-;1252:21269:107;;;;;22278:18:68;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;1252:21269:107;23216:28:68;940:4:59;;18080:5181:68;:::o;19887:61::-;18246:1;1252:21269:107;19887:61:68;;19787:87;1252:21269:107;;;;;19787:87:68;;;19687;1252:21269:107;;;;;19687:87:68;;;19585:89;1252:21269:107;;;;;19585:89:68;;;19482:90;1252:21269:107;;;;;19482:90:68;;;19379;1252:21269:107;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;1252:21269:107;-1:-1:-1;1252:21269:107;;;;19274:92:68;;12929:433:71;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21269:107;;3731:5:68;;;1252:21269:107;;;;;;;;;5098:13;-1:-1:-1;14439:109:71;1252:21269:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21269:107;;;;;-1:-1:-1;13189:136:71;1252:21269:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21269:107;;;;;;;;;;;13189:136:71;;;12929:433;;13112:10;;;;;;13344:11;;12929:433;:::o;13105:230::-;3721:5:68;;;;;1252:21269:107;;3731:5:68;;;1252:21269:107;;;;;;;;;5456:12;-1:-1:-1;14439:109:71;1252:21269:107;14439:109:71;;-1:-1:-1;;;;;;;;;;;14439:109:71;1252:21269:107;;;;;-1:-1:-1;13189:136:71;1252:21269:107;;;13248:10:71;;13189:136;;13105:230;;;13189:136;1252:21269:107;;;;;;;;;;;13189:136:71;;;12929:433;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;1252:21269:107;;3731:5:68;;;1252:21269:107;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;1252:21269:107;14439:109:71;;;-1:-1:-1;14439:109:71;;1252:21269:107;;;;;-1:-1:-1;13189:136:71;1252:21269:107;;;13248:10:71;;13189:136;;13105:230;;;;13189:136;1252:21269:107;;;;;;;;;;;13189:136:71;;","linkReferences":{},"immutableReferences":{"70057":[{"start":5325,"length":32},{"start":6547,"length":32}],"70060":[{"start":7746,"length":32},{"start":9153,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DELEGATOR_FACTORY()":"6da3e06d","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","SLASHER_FACTORY()":"87df0788","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","activeBalanceOf(address)":"59f769a9","activeBalanceOfAt(address,uint48,bytes)":"efb559d6","activeShares()":"bfefcd7b","activeSharesAt(uint48,bytes)":"50f22068","activeSharesOf(address)":"9d66201b","activeSharesOfAt(address,uint48,bytes)":"2d73c69c","activeStake()":"bd49c35f","activeStakeAt(uint48,bytes)":"810da75d","burner()":"27810b6e","claim(address,uint256)":"aad3ec96","claimBatch(address,uint256[])":"7c04c80a","collateral()":"d8dfeb45","currentEpoch()":"76671808","currentEpochStart()":"61a8c8c4","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","epochAt(uint48)":"7953b33b","epochDuration()":"4ff0876a","epochDurationInit()":"46361671","epochDurationSetEpochsDelay()":"c642b050","epochStart(uint256)":"aa9354a3","flashFee(address,uint256)":"d9d98ce4","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoan(address,address,uint256,bytes)":"5cffe9de","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isInitialized()":"392e53cd","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","maxFlashLoan(address)":"613255ab","nextEpochStart()":"73790ab3","onSlash(uint256,uint48)":"7278e31c","previousEpochStart()":"281f5752","redeem(address,uint256)":"1e9a6950","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","setDelegator(address)":"83cd9cc3","setDepositLimit(uint256)":"bdc8144b","setDepositWhitelist(bool)":"4105a7dd","setDepositorWhitelistStatus(address,bool)":"a2861466","setEpochDuration(uint48,uint256)":"83f46c2c","setFlashFeeRate(uint256)":"d626811b","setFlashFeeReceiver(address)":"52741a40","setFlashloanEnabled(bool)":"859b9344","setIsDepositLimit(bool)":"5346e34f","setSlasher(address)":"aabc2496","slashableBalanceOf(address)":"c31e8dd7","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","totalStake()":"8b0e9f3f","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076","withdrawalsOf(uint256,address)":"f5e7ee0f"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatorFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"slasherFactory\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyClaimed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegatorAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DepositLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientDeposit\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientRedemption\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientWithdrawal\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCaptureEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidClaimer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLengthEpochs\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNewEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOnBehalfOf\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRecipient\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidReturnAmount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidTimestamp\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MaxLoanExceeded\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NewEpochDurationNotReady\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoPreviousEpoch\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotDelegator\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotSlasher\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotWhitelistedDepositor\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SlasherAlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooLowFlashLoanValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchRedeem\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TooMuchWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsupportedToken\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Claim\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"ClaimBatch\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"depositor\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"Deposit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"name\":\"OnSlash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"}],\"name\":\"SetDelegator\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"SetDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositWhitelist\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetDepositorWhitelistStatus\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint48\",\"name\":\"epochDuration\",\"type\":\"uint48\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay\",\"type\":\"uint256\"}],\"name\":\"SetEpochDuration\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"flashFeeRate\",\"type\":\"uint256\"}],\"name\":\"SetFlashFeeRate\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"flashFeeReceiver\",\"type\":\"address\"}],\"name\":\"SetFlashFeeReceiver\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetFlashloanEnabled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"SetIsDepositLimit\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"slasher\",\"type\":\"address\"}],\"name\":\"SetSlasher\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"withdrawer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"name\":\"Withdraw\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DELEGATOR_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"SLASHER_FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hints\",\"type\":\"bytes\"}],\"name\":\"activeBalanceOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"activeSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeSharesOfAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"activeStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"},{\"internalType\":\"bytes\",\"name\":\"hint\",\"type\":\"bytes\"}],\"name\":\"activeStakeAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"epochs\",\"type\":\"uint256[]\"}],\"name\":\"claimBatch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpoch\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"currentEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"timestamp\",\"type\":\"uint48\"}],\"name\":\"epochAt\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"epochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"flashFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IERC3156FlashBorrower\",\"name\":\"receiver\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"flashLoan\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"maxFlashLoan\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"captureTimestamp\",\"type\":\"uint48\"}],\"name\":\"onSlash\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"slashedAmount\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"previousEpochStart\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegator_\",\"type\":\"address\"}],\"name\":\"setDelegator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"setDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositWhitelist\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setDepositorWhitelistStatus\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint48\",\"name\":\"epochDuration_\",\"type\":\"uint48\"},{\"internalType\":\"uint256\",\"name\":\"epochDurationSetEpochsDelay_\",\"type\":\"uint256\"}],\"name\":\"setEpochDuration\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"flashFeeRate_\",\"type\":\"uint256\"}],\"name\":\"setFlashFeeRate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"flashFeeReceiver_\",\"type\":\"address\"}],\"name\":\"setFlashFeeReceiver\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setFlashloanEnabled\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"status\",\"type\":\"bool\"}],\"name\":\"setIsDepositLimit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"slasher_\",\"type\":\"address\"}],\"name\":\"setSlasher\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"slashableBalanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalStake\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalsOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}]},\"events\":{\"Claim(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epoch\":\"epoch the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"ClaimBatch(address,address,uint256[],uint256)\":{\"params\":{\"amount\":\"amount of the collateral claimed\",\"claimer\":\"account that claimed\",\"epochs\":\"epochs the collateral was claimed for\",\"recipient\":\"account that received the collateral\"}},\"Deposit(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral deposited\",\"depositor\":\"account that made the deposit\",\"onBehalfOf\":\"account the deposit was made on behalf of\",\"shares\":\"amount of the active shares minted\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"OnSlash(uint256,uint48,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to slash\",\"captureTimestamp\":\"time point when the stake was captured\",\"slashedAmount\":\"real amount of the collateral slashed\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"SetDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"SetDepositLimit(uint256)\":{\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"SetDepositWhitelist(bool)\":{\"params\":{\"status\":\"if enabled deposit whitelist\"}},\"SetDepositorWhitelistStatus(address,bool)\":{\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisted the account\"}},\"SetEpochDuration(uint48,uint256)\":{\"params\":{\"epochDuration\":\"epoch duration\",\"epochDurationSetEpochsDelay\":\"delay for the epoch duration set in epochs\"}},\"SetFlashFeeRate(uint256)\":{\"params\":{\"flashFeeRate\":\"flash fee rate\"}},\"SetFlashFeeReceiver(address)\":{\"params\":{\"flashFeeReceiver\":\"flash fee receiver\"}},\"SetFlashloanEnabled(bool)\":{\"params\":{\"status\":\"if enabled flash loan\"}},\"SetIsDepositLimit(bool)\":{\"params\":{\"status\":\"if enabled deposit limit\"}},\"SetSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"params\":{\"amount\":\"amount of the collateral withdrawn\",\"burnedShares\":\"amount of the active shares burned\",\"claimer\":\"account that needs to claim the withdrawal\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawer\":\"account that made the withdrawal\"}}},\"kind\":\"dev\",\"methods\":{\"activeBalanceOf(address)\":{\"params\":{\"account\":\"account to get the active balance for\"},\"returns\":{\"_0\":\"active balance for the account\"}},\"activeBalanceOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the active balance for\",\"hints\":\"hints for checkpoints' indexes\",\"timestamp\":\"time point to get the active balance for the account at\"},\"returns\":{\"_0\":\"active balance for the account at the timestamp\"}},\"activeShares()\":{\"returns\":{\"_0\":\"total number of active shares\"}},\"activeSharesAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total number of active shares at\"},\"returns\":{\"_0\":\"total number of active shares at the timestamp\"}},\"activeSharesOf(address)\":{\"params\":{\"account\":\"account to get the number of active shares for\"},\"returns\":{\"_0\":\"number of active shares for the account\"}},\"activeSharesOfAt(address,uint48,bytes)\":{\"params\":{\"account\":\"account to get the number of active shares for\",\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the number of active shares for the account at\"},\"returns\":{\"_0\":\"number of active shares for the account at the timestamp\"}},\"activeStake()\":{\"returns\":{\"_0\":\"total amount of active stake\"}},\"activeStakeAt(uint48,bytes)\":{\"params\":{\"hint\":\"hint for the checkpoint index\",\"timestamp\":\"time point to get the total active stake at\"},\"returns\":{\"_0\":\"total amount of active stake at the timestamp\"}},\"claim(address,uint256)\":{\"params\":{\"epoch\":\"epoch to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"claimBatch(address,uint256[])\":{\"params\":{\"epochs\":\"epochs to claim the collateral for\",\"recipient\":\"account that receives the collateral\"},\"returns\":{\"amount\":\"amount of the collateral claimed\"}},\"currentEpoch()\":{\"returns\":{\"_0\":\"current epoch\"}},\"currentEpochStart()\":{\"returns\":{\"_0\":\"start of the current epoch\"}},\"deposit(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to deposit\",\"onBehalfOf\":\"account the deposit is made on behalf of\"},\"returns\":{\"depositedAmount\":\"real amount of the collateral deposited\",\"mintedShares\":\"amount of the active shares minted\"}},\"epochAt(uint48)\":{\"details\":\"Reverts if the timestamp is less than the start of the epoch 0.\",\"params\":{\"timestamp\":\"time point to get the epoch at\"},\"returns\":{\"_0\":\"epoch at the timestamp\"}},\"epochDuration()\":{\"returns\":{\"_0\":\"duration of the epoch\"}},\"epochDurationInit()\":{\"returns\":{\"_0\":\"time point of the epoch duration set\"}},\"epochDurationSetEpochsDelay()\":{\"returns\":{\"_0\":\"delay for the epoch duration set\"}},\"epochStart(uint256)\":{\"params\":{\"epoch\":\"epoch to get the start of\"},\"returns\":{\"_0\":\"start of the epoch\"}},\"flashFee(address,uint256)\":{\"details\":\"The fee to be charged for a given loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` to be charged for the loan, on top of the returned principal.\"}},\"flashLoan(address,address,uint256,bytes)\":{\"details\":\"Initiate a flash loan.\",\"params\":{\"amount\":\"The amount of tokens lent.\",\"data\":\"Arbitrary data structure, intended to contain user-defined parameters.\",\"receiver\":\"The receiver of the tokens in the loan, and the receiver of the callback.\",\"token\":\"The loan currency.\"}},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isInitialized()\":{\"returns\":{\"_0\":\"if the vault is fully initialized\"}},\"maxFlashLoan(address)\":{\"details\":\"The amount of currency available to be lended.\",\"params\":{\"token\":\"The loan currency.\"},\"returns\":{\"_0\":\"The amount of `token` that can be borrowed.\"}},\"nextEpochStart()\":{\"returns\":{\"_0\":\"start of the next epoch\"}},\"onSlash(uint256,uint48)\":{\"details\":\"Only the slasher can call this function.\",\"params\":{\"amount\":\"amount to slash\",\"captureTimestamp\":\"time point when the stake was captured\"},\"returns\":{\"slashedAmount\":\"real amount of the collateral slashed\"}},\"previousEpochStart()\":{\"details\":\"Reverts if the current epoch is 0.\",\"returns\":{\"_0\":\"start of the previous epoch\"}},\"redeem(address,uint256)\":{\"params\":{\"claimer\":\"account that needs to claim the withdrawal\",\"shares\":\"amount of the active shares to redeem\"},\"returns\":{\"mintedShares\":\"amount of the epoch withdrawal shares minted\",\"withdrawnAssets\":\"amount of the collateral withdrawn\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"setDelegator(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"delegator\":\"vault's delegator to delegate the stake to networks and operators\"}},\"setDepositLimit(uint256)\":{\"details\":\"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"limit\":\"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)\"}},\"setDepositWhitelist(bool)\":{\"details\":\"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit whitelist\"}},\"setDepositorWhitelistStatus(address,bool)\":{\"details\":\"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.\",\"params\":{\"account\":\"account for which the whitelist status is set\",\"status\":\"if whitelisting the account\"}},\"setEpochDuration(uint48,uint256)\":{\"details\":\"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.\",\"params\":{\"epochDurationSetEpochsDelay_\":\"delay for the epoch duration set in epochs\",\"epochDuration_\":\"epoch duration\"}},\"setFlashFeeRate(uint256)\":{\"details\":\"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeRate_\":\"flash fee rate\"}},\"setFlashFeeReceiver(address)\":{\"details\":\"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.\",\"params\":{\"flashFeeReceiver_\":\"flash fee receiver\"}},\"setFlashloanEnabled(bool)\":{\"details\":\"Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabled flash loan\"}},\"setIsDepositLimit(bool)\":{\"details\":\"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.\",\"params\":{\"status\":\"if enabling deposit limit\"}},\"setSlasher(address)\":{\"details\":\"Can be set only once.\",\"params\":{\"slasher\":\"vault's slasher to provide a slashing mechanism to networks\"}},\"slashableBalanceOf(address)\":{\"params\":{\"account\":\"account to get the slashable collateral for\"},\"returns\":{\"_0\":\"total amount of the account's slashable collateral\"}},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"totalStake()\":{\"returns\":{\"_0\":\"total amount of the slashable collateral\"}},\"withdraw(address,uint256)\":{\"params\":{\"amount\":\"amount of the collateral to withdraw\",\"claimer\":\"account that needs to claim the withdrawal\"},\"returns\":{\"burnedShares\":\"amount of the active shares burned\",\"mintedShares\":\"amount of the epoch withdrawal shares minted\"}},\"withdrawalsOf(uint256,address)\":{\"params\":{\"account\":\"account to get the withdrawals for\",\"epoch\":\"epoch to get the withdrawals for the account at\"},\"returns\":{\"_0\":\"withdrawals for the account at the epoch\"}}},\"stateVariables\":{\"DELEGATOR_FACTORY\":{\"return\":\"address of the delegator factory\",\"returns\":{\"_0\":\"address of the delegator factory\"}},\"SLASHER_FACTORY\":{\"return\":\"address of the slasher factory\",\"returns\":{\"_0\":\"address of the slasher factory\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Claim(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a claim is made.\"},\"ClaimBatch(address,address,uint256[],uint256)\":{\"notice\":\"Emitted when a batch claim is made.\"},\"Deposit(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a deposit is made.\"},\"OnSlash(uint256,uint48,uint256)\":{\"notice\":\"Emitted when a slash happens.\"},\"SetDelegator(address)\":{\"notice\":\"Emitted when a delegator is set.\"},\"SetDepositLimit(uint256)\":{\"notice\":\"Emitted when a deposit limit is set.\"},\"SetDepositWhitelist(bool)\":{\"notice\":\"Emitted when a deposit whitelist status is enabled/disabled.\"},\"SetDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Emitted when a depositor whitelist status is set.\"},\"SetEpochDuration(uint48,uint256)\":{\"notice\":\"Emitted when a epoch duration is set (can be accepted after `epochDurationSetEpochsDelay` epochs).\"},\"SetFlashFeeRate(uint256)\":{\"notice\":\"Emitted when a flash fee rate is set.\"},\"SetFlashFeeReceiver(address)\":{\"notice\":\"Emitted when a flash fee receiver is set.\"},\"SetFlashloanEnabled(bool)\":{\"notice\":\"Emitted when a flash loan enabled status is set.\"},\"SetIsDepositLimit(bool)\":{\"notice\":\"Emitted when a deposit limit status is enabled/disabled.\"},\"SetSlasher(address)\":{\"notice\":\"Emitted when a slasher is set.\"},\"Withdraw(address,address,uint256,uint256,uint256)\":{\"notice\":\"Emitted when a withdrawal is made.\"}},\"kind\":\"user\",\"methods\":{\"DELEGATOR_FACTORY()\":{\"notice\":\"Get the delegator factory's address.\"},\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"SLASHER_FACTORY()\":{\"notice\":\"Get the slasher factory's address.\"},\"activeBalanceOf(address)\":{\"notice\":\"Get an active balance for a particular account.\"},\"activeBalanceOfAt(address,uint48,bytes)\":{\"notice\":\"Get an active balance for a particular account at a given timestamp using hints.\"},\"activeShares()\":{\"notice\":\"Get a total number of active shares in the vault.\"},\"activeSharesAt(uint48,bytes)\":{\"notice\":\"Get a total number of active shares in the vault at a given timestamp using a hint.\"},\"activeSharesOf(address)\":{\"notice\":\"Get a number of active shares for a particular account.\"},\"activeSharesOfAt(address,uint48,bytes)\":{\"notice\":\"Get a total number of active shares for a particular account at a given timestamp using a hint.\"},\"activeStake()\":{\"notice\":\"Get a total amount of active stake in the vault.\"},\"activeStakeAt(uint48,bytes)\":{\"notice\":\"Get a total amount of active stake in the vault at a given timestamp using a hint.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"claim(address,uint256)\":{\"notice\":\"Claim collateral from the vault.\"},\"claimBatch(address,uint256[])\":{\"notice\":\"Claim collateral from the vault for multiple epochs.\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"currentEpoch()\":{\"notice\":\"Get a current vault epoch.\"},\"currentEpochStart()\":{\"notice\":\"Get a start of the current vault epoch.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"deposit(address,uint256)\":{\"notice\":\"Deposit collateral into the vault.\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"epochAt(uint48)\":{\"notice\":\"Get an epoch at a given timestamp.\"},\"epochDuration()\":{\"notice\":\"Get a duration of the vault epoch.\"},\"epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set.\"},\"epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs.\"},\"epochStart(uint256)\":{\"notice\":\"Get a start of the epoch.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isInitialized()\":{\"notice\":\"Check if the vault is fully initialized (a delegator and a slasher are set).\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"nextEpochStart()\":{\"notice\":\"Get a start of the next vault epoch.\"},\"onSlash(uint256,uint48)\":{\"notice\":\"Slash callback for burning collateral.\"},\"previousEpochStart()\":{\"notice\":\"Get a start of the previous vault epoch.\"},\"redeem(address,uint256)\":{\"notice\":\"Redeem collateral from the vault (it will be claimable after the next epoch).\"},\"setDelegator(address)\":{\"notice\":\"Set a delegator.\"},\"setDepositLimit(uint256)\":{\"notice\":\"Set a deposit limit.\"},\"setDepositWhitelist(bool)\":{\"notice\":\"Enable/disable deposit whitelist.\"},\"setDepositorWhitelistStatus(address,bool)\":{\"notice\":\"Set a depositor whitelist status.\"},\"setEpochDuration(uint48,uint256)\":{\"notice\":\"Set an epoch duration (can be only greater than the current one).\"},\"setFlashFeeRate(uint256)\":{\"notice\":\"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"setFlashFeeReceiver(address)\":{\"notice\":\"Set a flash fee receiver.\"},\"setFlashloanEnabled(bool)\":{\"notice\":\"Set a flash loan enabled status.\"},\"setIsDepositLimit(bool)\":{\"notice\":\"Enable/disable deposit limit.\"},\"setSlasher(address)\":{\"notice\":\"Set a slasher.\"},\"slashableBalanceOf(address)\":{\"notice\":\"Get a total amount of the collateral that can be slashed for a given account.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"totalStake()\":{\"notice\":\"Get a total amount of the collateral that can be slashed.\"},\"withdraw(address,uint256)\":{\"notice\":\"Withdraw collateral from the vault (it will be claimable after the next epoch).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"},\"withdrawalsOf(uint256,address)\":{\"notice\":\"Get withdrawals for a particular account at a given epoch (zero if claimed).\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultImplementation.sol\":\"VaultImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/libraries/ERC4626Math.sol\":{\"keccak256\":\"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653\",\"dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB\"]},\"src/contracts/vault/v1.1/VaultImplementation.sol\":{\"keccak256\":\"0x089e1d1a01e2bc49c378fc30fb7a118e2a5b0f25bed33af0b444d7132e9606cf\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b8e54b1802337b238b588a32909ddd10e4349c4c1af4c72743055a31cad98c7c\",\"dweb:/ipfs/QmNoBNzx3C67br3AG3P6VVrL31e6dtqjLFFLWbN1waaJwx\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6\",\"dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q\"]},\"src/interfaces/common/IEntity.sol\":{\"keccak256\":\"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b\",\"dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv\"]},\"src/interfaces/common/IRegistry.sol\":{\"keccak256\":\"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014\",\"dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/delegator/IBaseDelegator.sol\":{\"keccak256\":\"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2\",\"dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8\"]},\"src/interfaces/slasher/IBaseSlasher.sol\":{\"keccak256\":\"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf\",\"dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d\",\"dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"delegatorFactory","type":"address"},{"internalType":"address","name":"slasherFactory","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"AlreadyClaimed"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"DelegatorAlreadyInitialized"},{"inputs":[],"type":"error","name":"DepositLimitReached"},{"inputs":[],"type":"error","name":"InsufficientClaim"},{"inputs":[],"type":"error","name":"InsufficientDeposit"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InsufficientRedemption"},{"inputs":[],"type":"error","name":"InsufficientWithdrawal"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCaptureEpoch"},{"inputs":[],"type":"error","name":"InvalidClaimer"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidDelegator"},{"inputs":[],"type":"error","name":"InvalidEpoch"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidLengthEpochs"},{"inputs":[],"type":"error","name":"InvalidNewEpochDuration"},{"inputs":[],"type":"error","name":"InvalidOnBehalfOf"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"InvalidReceiver"},{"inputs":[],"type":"error","name":"InvalidRecipient"},{"inputs":[],"type":"error","name":"InvalidReturnAmount"},{"inputs":[],"type":"error","name":"InvalidSlasher"},{"inputs":[],"type":"error","name":"InvalidTimestamp"},{"inputs":[],"type":"error","name":"MaxLoanExceeded"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NewEpochDurationNotReady"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NoPreviousEpoch"},{"inputs":[],"type":"error","name":"NotDelegator"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"NotSlasher"},{"inputs":[],"type":"error","name":"NotWhitelistedDepositor"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"SlasherAlreadyInitialized"},{"inputs":[],"type":"error","name":"TooLowFlashLoanValue"},{"inputs":[],"type":"error","name":"TooMuchRedeem"},{"inputs":[],"type":"error","name":"TooMuchWithdraw"},{"inputs":[],"type":"error","name":"UnsupportedToken"},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256","name":"epoch","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"Claim","anonymous":false},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"uint256[]","name":"epochs","type":"uint256[]","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"ClaimBatch","anonymous":false},{"inputs":[{"internalType":"address","name":"depositor","type":"address","indexed":true},{"internalType":"address","name":"onBehalfOf","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"shares","type":"uint256","indexed":false}],"type":"event","name":"Deposit","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint48","name":"captureTimestamp","type":"uint48","indexed":false},{"internalType":"uint256","name":"slashedAmount","type":"uint256","indexed":false}],"type":"event","name":"OnSlash","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true}],"type":"event","name":"SetDelegator","anonymous":false},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256","indexed":false}],"type":"event","name":"SetDepositLimit","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositWhitelist","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetDepositorWhitelistStatus","anonymous":false},{"inputs":[{"internalType":"uint48","name":"epochDuration","type":"uint48","indexed":false},{"internalType":"uint256","name":"epochDurationSetEpochsDelay","type":"uint256","indexed":false}],"type":"event","name":"SetEpochDuration","anonymous":false},{"inputs":[{"internalType":"uint256","name":"flashFeeRate","type":"uint256","indexed":false}],"type":"event","name":"SetFlashFeeRate","anonymous":false},{"inputs":[{"internalType":"address","name":"flashFeeReceiver","type":"address","indexed":false}],"type":"event","name":"SetFlashFeeReceiver","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetFlashloanEnabled","anonymous":false},{"inputs":[{"internalType":"bool","name":"status","type":"bool","indexed":false}],"type":"event","name":"SetIsDepositLimit","anonymous":false},{"inputs":[{"internalType":"address","name":"slasher","type":"address","indexed":true}],"type":"event","name":"SetSlasher","anonymous":false},{"inputs":[{"internalType":"address","name":"withdrawer","type":"address","indexed":true},{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"uint256","name":"burnedShares","type":"uint256","indexed":false},{"internalType":"uint256","name":"mintedShares","type":"uint256","indexed":false}],"type":"event","name":"Withdraw","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DELEGATOR_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"SLASHER_FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hints","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeBalanceOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeShares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"activeSharesOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeSharesOfAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"activeStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"},{"internalType":"bytes","name":"hint","type":"bytes"}],"stateMutability":"view","type":"function","name":"activeStakeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"claim","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"epochs","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"claimBatch","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpoch","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"currentEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint48","name":"timestamp","type":"uint48"}],"stateMutability":"view","type":"function","name":"epochAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"epochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"view","type":"function","name":"flashFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"contract IERC3156FlashBorrower","name":"receiver","type":"address"},{"internalType":"address","name":"token","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"flashLoan","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"stateMutability":"view","type":"function","name":"maxFlashLoan","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"nextEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint48","name":"captureTimestamp","type":"uint48"}],"stateMutability":"nonpayable","type":"function","name":"onSlash","outputs":[{"internalType":"uint256","name":"slashedAmount","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"previousEpochStart","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[{"internalType":"address","name":"delegator_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setDelegator"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setDepositLimit"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositWhitelist"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setDepositorWhitelistStatus"},{"inputs":[{"internalType":"uint48","name":"epochDuration_","type":"uint48"},{"internalType":"uint256","name":"epochDurationSetEpochsDelay_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setEpochDuration"},{"inputs":[{"internalType":"uint256","name":"flashFeeRate_","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeRate"},{"inputs":[{"internalType":"address","name":"flashFeeReceiver_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setFlashFeeReceiver"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setFlashloanEnabled"},{"inputs":[{"internalType":"bool","name":"status","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"setIsDepositLimit"},{"inputs":[{"internalType":"address","name":"slasher_","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setSlasher"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"slashableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalStake","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalsOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"activeBalanceOf(address)":{"params":{"account":"account to get the active balance for"},"returns":{"_0":"active balance for the account"}},"activeBalanceOfAt(address,uint48,bytes)":{"params":{"account":"account to get the active balance for","hints":"hints for checkpoints' indexes","timestamp":"time point to get the active balance for the account at"},"returns":{"_0":"active balance for the account at the timestamp"}},"activeShares()":{"returns":{"_0":"total number of active shares"}},"activeSharesAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total number of active shares at"},"returns":{"_0":"total number of active shares at the timestamp"}},"activeSharesOf(address)":{"params":{"account":"account to get the number of active shares for"},"returns":{"_0":"number of active shares for the account"}},"activeSharesOfAt(address,uint48,bytes)":{"params":{"account":"account to get the number of active shares for","hint":"hint for the checkpoint index","timestamp":"time point to get the number of active shares for the account at"},"returns":{"_0":"number of active shares for the account at the timestamp"}},"activeStake()":{"returns":{"_0":"total amount of active stake"}},"activeStakeAt(uint48,bytes)":{"params":{"hint":"hint for the checkpoint index","timestamp":"time point to get the total active stake at"},"returns":{"_0":"total amount of active stake at the timestamp"}},"claim(address,uint256)":{"params":{"epoch":"epoch to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"claimBatch(address,uint256[])":{"params":{"epochs":"epochs to claim the collateral for","recipient":"account that receives the collateral"},"returns":{"amount":"amount of the collateral claimed"}},"currentEpoch()":{"returns":{"_0":"current epoch"}},"currentEpochStart()":{"returns":{"_0":"start of the current epoch"}},"deposit(address,uint256)":{"params":{"amount":"amount of the collateral to deposit","onBehalfOf":"account the deposit is made on behalf of"},"returns":{"depositedAmount":"real amount of the collateral deposited","mintedShares":"amount of the active shares minted"}},"epochAt(uint48)":{"details":"Reverts if the timestamp is less than the start of the epoch 0.","params":{"timestamp":"time point to get the epoch at"},"returns":{"_0":"epoch at the timestamp"}},"epochDuration()":{"returns":{"_0":"duration of the epoch"}},"epochDurationInit()":{"returns":{"_0":"time point of the epoch duration set"}},"epochDurationSetEpochsDelay()":{"returns":{"_0":"delay for the epoch duration set"}},"epochStart(uint256)":{"params":{"epoch":"epoch to get the start of"},"returns":{"_0":"start of the epoch"}},"flashFee(address,uint256)":{"details":"The fee to be charged for a given loan.","params":{"amount":"The amount of tokens lent.","token":"The loan currency."},"returns":{"_0":"The amount of `token` to be charged for the loan, on top of the returned principal."}},"flashLoan(address,address,uint256,bytes)":{"details":"Initiate a flash loan.","params":{"amount":"The amount of tokens lent.","data":"Arbitrary data structure, intended to contain user-defined parameters.","receiver":"The receiver of the tokens in the loan, and the receiver of the callback.","token":"The loan currency."}},"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"isInitialized()":{"returns":{"_0":"if the vault is fully initialized"}},"maxFlashLoan(address)":{"details":"The amount of currency available to be lended.","params":{"token":"The loan currency."},"returns":{"_0":"The amount of `token` that can be borrowed."}},"nextEpochStart()":{"returns":{"_0":"start of the next epoch"}},"onSlash(uint256,uint48)":{"details":"Only the slasher can call this function.","params":{"amount":"amount to slash","captureTimestamp":"time point when the stake was captured"},"returns":{"slashedAmount":"real amount of the collateral slashed"}},"previousEpochStart()":{"details":"Reverts if the current epoch is 0.","returns":{"_0":"start of the previous epoch"}},"redeem(address,uint256)":{"params":{"claimer":"account that needs to claim the withdrawal","shares":"amount of the active shares to redeem"},"returns":{"mintedShares":"amount of the epoch withdrawal shares minted","withdrawnAssets":"amount of the collateral withdrawn"}},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"setDelegator(address)":{"details":"Can be set only once.","params":{"delegator":"vault's delegator to delegate the stake to networks and operators"}},"setDepositLimit(uint256)":{"details":"Only a DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"limit":"deposit limit (maximum amount of the collateral that can be in the vault simultaneously)"}},"setDepositWhitelist(bool)":{"details":"Only a DEPOSIT_WHITELIST_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit whitelist"}},"setDepositorWhitelistStatus(address,bool)":{"details":"Only a DEPOSITOR_WHITELIST_ROLE holder can call this function.","params":{"account":"account for which the whitelist status is set","status":"if whitelisting the account"}},"setEpochDuration(uint48,uint256)":{"details":"Only a EPOCH_DURATION_SET_ROLE holder can call this function. Can be accepted after `epochDurationSetEpochsDelay` epochs.","params":{"epochDurationSetEpochsDelay_":"delay for the epoch duration set in epochs","epochDuration_":"epoch duration"}},"setFlashFeeRate(uint256)":{"details":"Only a FLASH_FEE_RATE_SET_ROLE holder can call this function.","params":{"flashFeeRate_":"flash fee rate"}},"setFlashFeeReceiver(address)":{"details":"Only a FLASH_FEE_RECEIVER_SET_ROLE holder can call this function.","params":{"flashFeeReceiver_":"flash fee receiver"}},"setFlashloanEnabled(bool)":{"details":"Only a FLASH_LOAN_ENABLED_SET_ROLE holder can call this function.","params":{"status":"if enabled flash loan"}},"setIsDepositLimit(bool)":{"details":"Only a IS_DEPOSIT_LIMIT_SET_ROLE holder can call this function.","params":{"status":"if enabling deposit limit"}},"setSlasher(address)":{"details":"Can be set only once.","params":{"slasher":"vault's slasher to provide a slashing mechanism to networks"}},"slashableBalanceOf(address)":{"params":{"account":"account to get the slashable collateral for"},"returns":{"_0":"total amount of the account's slashable collateral"}},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"totalStake()":{"returns":{"_0":"total amount of the slashable collateral"}},"withdraw(address,uint256)":{"params":{"amount":"amount of the collateral to withdraw","claimer":"account that needs to claim the withdrawal"},"returns":{"burnedShares":"amount of the active shares burned","mintedShares":"amount of the epoch withdrawal shares minted"}},"withdrawalsOf(uint256,address)":{"params":{"account":"account to get the withdrawals for","epoch":"epoch to get the withdrawals for the account at"},"returns":{"_0":"withdrawals for the account at the epoch"}}},"version":1},"userdoc":{"kind":"user","methods":{"DELEGATOR_FACTORY()":{"notice":"Get the delegator factory's address."},"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"SLASHER_FACTORY()":{"notice":"Get the slasher factory's address."},"activeBalanceOf(address)":{"notice":"Get an active balance for a particular account."},"activeBalanceOfAt(address,uint48,bytes)":{"notice":"Get an active balance for a particular account at a given timestamp using hints."},"activeShares()":{"notice":"Get a total number of active shares in the vault."},"activeSharesAt(uint48,bytes)":{"notice":"Get a total number of active shares in the vault at a given timestamp using a hint."},"activeSharesOf(address)":{"notice":"Get a number of active shares for a particular account."},"activeSharesOfAt(address,uint48,bytes)":{"notice":"Get a total number of active shares for a particular account at a given timestamp using a hint."},"activeStake()":{"notice":"Get a total amount of active stake in the vault."},"activeStakeAt(uint48,bytes)":{"notice":"Get a total amount of active stake in the vault at a given timestamp using a hint."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"claim(address,uint256)":{"notice":"Claim collateral from the vault."},"claimBatch(address,uint256[])":{"notice":"Claim collateral from the vault for multiple epochs."},"collateral()":{"notice":"Get a vault collateral."},"currentEpoch()":{"notice":"Get a current vault epoch."},"currentEpochStart()":{"notice":"Get a start of the current vault epoch."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"deposit(address,uint256)":{"notice":"Deposit collateral into the vault."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"epochAt(uint48)":{"notice":"Get an epoch at a given timestamp."},"epochDuration()":{"notice":"Get a duration of the vault epoch."},"epochDurationInit()":{"notice":"Get a time point of the epoch duration set."},"epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs."},"epochStart(uint256)":{"notice":"Get a start of the epoch."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isInitialized()":{"notice":"Check if the vault is fully initialized (a delegator and a slasher are set)."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"nextEpochStart()":{"notice":"Get a start of the next vault epoch."},"onSlash(uint256,uint48)":{"notice":"Slash callback for burning collateral."},"previousEpochStart()":{"notice":"Get a start of the previous vault epoch."},"redeem(address,uint256)":{"notice":"Redeem collateral from the vault (it will be claimable after the next epoch)."},"setDelegator(address)":{"notice":"Set a delegator."},"setDepositLimit(uint256)":{"notice":"Set a deposit limit."},"setDepositWhitelist(bool)":{"notice":"Enable/disable deposit whitelist."},"setDepositorWhitelistStatus(address,bool)":{"notice":"Set a depositor whitelist status."},"setEpochDuration(uint48,uint256)":{"notice":"Set an epoch duration (can be only greater than the current one)."},"setFlashFeeRate(uint256)":{"notice":"Set a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"setFlashFeeReceiver(address)":{"notice":"Set a flash fee receiver."},"setFlashloanEnabled(bool)":{"notice":"Set a flash loan enabled status."},"setIsDepositLimit(bool)":{"notice":"Enable/disable deposit limit."},"setSlasher(address)":{"notice":"Set a slasher."},"slashableBalanceOf(address)":{"notice":"Get a total amount of the collateral that can be slashed for a given account."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"totalStake()":{"notice":"Get a total amount of the collateral that can be slashed."},"withdraw(address,uint256)":{"notice":"Withdraw collateral from the vault (it will be claimable after the next epoch)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."},"withdrawalsOf(uint256,address)":{"notice":"Get withdrawals for a particular account at a given epoch (zero if claimed)."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultImplementation.sol":"VaultImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/libraries/ERC4626Math.sol":{"keccak256":"0x8441160513c1cbeb1c3b9ee077bcc7e7ce20006b52a77c8dd39ff0ef89699939","urls":["bzz-raw://943f8cc3e26ddf649f465f40c909819f5c864717c4baa339e9e403b9374a4653","dweb:/ipfs/QmXPxi1sUDsrGprZdUgCzoPEosaZMv9ZhygWQ1vAi1phAB"],"license":"MIT"},"src/contracts/vault/v1.1/VaultImplementation.sol":{"keccak256":"0x089e1d1a01e2bc49c378fc30fb7a118e2a5b0f25bed33af0b444d7132e9606cf","urls":["bzz-raw://b8e54b1802337b238b588a32909ddd10e4349c4c1af4c72743055a31cad98c7c","dweb:/ipfs/QmNoBNzx3C67br3AG3P6VVrL31e6dtqjLFFLWbN1waaJwx"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7","urls":["bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6","dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q"],"license":"BUSL-1.1"},"src/interfaces/common/IEntity.sol":{"keccak256":"0x8ef4b63d6da63489778ccd5f8d13ebdd527dd4b62730b2c616df5af7474d2d21","urls":["bzz-raw://5a8d69576a9219d85c50816a18ad53a4d53cfcb27ed38b8cccc808dc2734b71b","dweb:/ipfs/QmYVN3P4Q4REvBWJ97TbAcaxm3uyB2anV6NSGa6ZtSwcEv"],"license":"MIT"},"src/interfaces/common/IRegistry.sol":{"keccak256":"0x474c981518bb6ac974ba2a1274c49fd918d3b5acf1f3710e59786c5e3c8fc8bb","urls":["bzz-raw://db439e8880386dd308f8c67e612e9b15067fdffb29d6d0fd89c4edf820f30014","dweb:/ipfs/QmQJuzgU17EZyPMoJNwknPkveK1Nwx1ByhZCBJzgRgcpvK"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/delegator/IBaseDelegator.sol":{"keccak256":"0x96bb312f032e17accce3f8f80936d99468029d6b37c9ca74acdb4b026a0148ee","urls":["bzz-raw://2a66dcb5b7d1a6ef6a363431ea98ebd78bc4fdd3d7a134d9b542dc66e7d025c2","dweb:/ipfs/QmRhTPLd2ZAyRHmJUFUcWKs9b3if49QY17LYZuRqWmghw8"],"license":"MIT"},"src/interfaces/slasher/IBaseSlasher.sol":{"keccak256":"0x7c82528b445659c313ab77335c407b0b6efe5e79027187bb287f7bc74202b404","urls":["bzz-raw://0274c90aa5df1aa6bb470a6aab53992fb14fd7e5472c9430416505b29647d9cf","dweb:/ipfs/QmckbmJLDetPemVzCnnGcKYWAZV2BRFXGDsjiaec8jkHxx"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b","urls":["bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d","dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB"],"license":"MIT"}},"version":1},"id":107} \ No newline at end of file diff --git a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json index 5d5db25..589efdd 100644 --- a/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json +++ b/out/VaultTokenizedImplementation.sol/VaultTokenizedImplementation.json @@ -1,1723 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "baseImplementation", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { "type": "fallback", "stateMutability": "payable" }, - { - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_BASE", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RETURN_VALUE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_VaultTokenized_init", - "inputs": [{ "name": "data", "type": "bytes", "internalType": "bytes" }], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_epochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { "name": "owner", "type": "address", "internalType": "address" }, - { "name": "spender", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { "name": "spender", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burner", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collateral", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [{ "name": "", "type": "uint8", "internalType": "uint8" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "delegator", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { "name": "onBehalfOf", "type": "address", "internalType": "address" }, - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "depositedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "depositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositWhitelist", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeRate", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeReceiver", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoanEnabled", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDelegatorInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositorWhitelisted", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isSlasherInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isWithdrawalsClaimed", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [{ "name": "", "type": "string", "internalType": "string" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { "name": "claimer", "type": "address", "internalType": "address" }, - { "name": "shares", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "withdrawnAssets", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "slasher", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "staticDelegateCall", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [{ "name": "", "type": "string", "internalType": "string" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { "name": "to", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { "name": "from", "type": "address", "internalType": "address" }, - { "name": "to", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { "name": "claimer", "type": "address", "internalType": "address" }, - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "burnedShares", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawalShares", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalSharesOf", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawals", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" } - ] - }, - { "type": "error", "name": "CheckpointUnorderedInsertion", "inputs": [] }, - { - "type": "error", - "name": "ERC20InsufficientAllowance", - "inputs": [ - { "name": "spender", "type": "address", "internalType": "address" }, - { "name": "allowance", "type": "uint256", "internalType": "uint256" }, - { "name": "needed", "type": "uint256", "internalType": "uint256" } - ] - }, - { - "type": "error", - "name": "ERC20InsufficientBalance", - "inputs": [ - { "name": "sender", "type": "address", "internalType": "address" }, - { "name": "balance", "type": "uint256", "internalType": "uint256" }, - { "name": "needed", "type": "uint256", "internalType": "uint256" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidApprover", - "inputs": [ - { "name": "approver", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidReceiver", - "inputs": [ - { "name": "receiver", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSender", - "inputs": [ - { "name": "sender", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSpender", - "inputs": [ - { "name": "spender", "type": "address", "internalType": "address" } - ] - }, - { "type": "error", "name": "FailedCall", "inputs": [] }, - { "type": "error", "name": "InvalidInitialization", "inputs": [] }, - { "type": "error", "name": "NotInitializing", "inputs": [] }, - { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, - { - "type": "error", - "name": "SafeCastOverflowedUintDowncast", - "inputs": [ - { "name": "bits", "type": "uint8", "internalType": "uint8" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ] - } - ], - "bytecode": { - "object": "0x60a034606d57601f611d6a38819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611ce4908161008682396080518181816106cc01526116c80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436106116be575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a3036116be576112c7565b6112aa565b61128c565b61126f565b611240565b611206565b6111db565b6111b3565b61118b565b61116e565b611146565b61110c565b6110ef565b6110c7565b61109d565b61106c565b611044565b61100a565b610fbc565b610f73565b610f39565b610f15565b610eed565b610e6a565b610e4d565b610e30565b610d7e565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c4f8339815191528054906103b68261134c565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e381880382611398565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d560209161149a565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b6116fa565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611398565b7f000000000000000000000000000000000000000000000000000000000000000061154b565b602080825183010191016113ba565b9290916040519081525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b6107739350611568565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b78183611398565b8101906113d0565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611c8f83398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f206114f8565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b8101906040818303126104785780358481116104785782610c4b918301611425565b91602082013585811161047857610c629201611425565b91610c6b61177f565b610c7361177f565b8151938411610d79575f80516020611c4f83398151915291610c9e85610c99855461134c565b6117c0565b602091601f8611600114610ce657509380610cd292610cd9965f92610cdb575b50508160011b915f199060031b1c19161790565b90556118b2565b005b015190505f80610cbe565b5f80516020611c4f8339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d61575050916001939187610cd9989410610d49575b505050811b0190556118b2565b01515f1960f88460031b161c191690555f8080610d3c565b80600186978294978701518155019601940190610d22565b611384565b34610478575f366003190112610478576040515f5f80516020611c6f833981519152805490610dac8261134c565b8085529160209160019182811690811561044b5750600114610dd8576103ef866103e381880382611398565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e1d575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e00565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610e8361047c565b60243567ffffffffffffffff8111610478575f91610ea683923690600401610bc7565b90816040519283928337810184815203915af4610ee5610ec461146b565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610fb3610f91610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff610ffe610fdc610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b346104785760403660031901126104785761109261108861047c565b6024359033611568565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610fb361125e61047c565b6104e9611269610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113206106f06106bc6106ca6112ec61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b90600182811c9216801561137a575b602083101461136657565b634e487b7160e01b5f52602260045260245ffd5b91607f169161135b565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610d7957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610d7957604052565b67ffffffffffffffff8111610d7957601f01601f191660200190565b81601f820112156104785780359061143c82611409565b9261144a6040519485611398565b8284526020838301011161047857815f926020809301838601378301015290565b3d15611495573d9061147c82611409565b9161148a6040519384611398565b82523d5f602084013e565b606090565b600b548110156114cf57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156114cf575f5260205f2001905f90565b80548061152d57505f5b6001600160d01b0381161561152757600161151d92016114e3565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611502565b5f8061038593602081519101845af461156261146b565b9161171c565b916001600160a01b03808416929083156116a657811693841561168e576001600160a01b0381165f908152600e602052604090206115aa906114f8565b6114f8565b9083821061165c57611657926115f95f80516020611c8f83398151915295936115e66116459460018060a01b03165f52600e60205260405f2090565b90856115f142611aab565b9103916119e9565b50506001600160a01b0381165f908152600e60205260409020908361163e6115a561162342611aab565b6001600160a01b039094165f908152600e6020526040902090565b01916119e9565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156116f6573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611743575080511561173157805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611776575b611754575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561174c565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117ae57565b604051631afcd79f60e31b8152600490fd5b601f81116117cc575050565b5f80516020611c4f8339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c8301931061182f575b601f0160051c01905b818110611824575050565b5f8155600101611819565b9091508190611810565b601f8111611845575050565b5f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118a8575b601f0160051c01905b81811061189d575050565b5f8155600101611892565b9091508190611889565b90815167ffffffffffffffff8111610d79575f80516020611c6f833981519152906118e6816118e1845461134c565b611839565b602080601f831160011461191b575081906119179394955f92610cdb5750508160011b915f199060031b1c19161790565b9055565b90601f198316956119595f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119945750508360019596971061197c575b505050811b019055565b01515f1960f88460031b161c191690555f8080611972565b8060018596829496860151815501950193019061195d565b90815491600160401b831015610d7957826119cf9160016119e7950181556114e3565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611a7b575b5084611a0684611add565b50949092845493611a16836114f8565b9681611a66575b5015611a43575050505f198101908111610627576119cf8591611a3f936114e3565b9190565b611a3f949293611a5f926001600160d01b039091169190611b71565b50506119ac565b65ffffffffffff83811691161490505f611a1d565b600160401b811015610d7957806001611a9792018455836114e3565b8154905f199060031b1b191690555f6119fb565b65ffffffffffff90818111611abe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611aee5750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610d7957611b33916001820181556114e3565b611b5e57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c2457611b88611b939161170e565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c1257879303611bd95750611bd292509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c0d91611bf9611beb6113e9565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b16565b611bd2565b604051632520601d60e01b8152600490fd5b5090611c4991611c35611beb6113e9565b6001600160d01b0385166020830152611b16565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122072ff05afa035e3294883aa36f6638d5dcca4d207764b3e9b41e2a260b9ffdade64736f6c63430008190033", - "sourceMap": "978:3948:133:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;-1:-1:-1;;;;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:133;;;;;;1324:40;;978:3948;;;;;;;;1324:40;978:3948;;;;;;;;;;;;-1:-1:-1;978:3948:133;;;;;;-1:-1:-1;978:3948:133;;;;;-1:-1:-1;978:3948:133", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106116be575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a3036116be576112c7565b6112aa565b61128c565b61126f565b611240565b611206565b6111db565b6111b3565b61118b565b61116e565b611146565b61110c565b6110ef565b6110c7565b61109d565b61106c565b611044565b61100a565b610fbc565b610f73565b610f39565b610f15565b610eed565b610e6a565b610e4d565b610e30565b610d7e565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c4f8339815191528054906103b68261134c565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e381880382611398565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d560209161149a565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b6116fa565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611398565b7f000000000000000000000000000000000000000000000000000000000000000061154b565b602080825183010191016113ba565b9290916040519081525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b6107739350611568565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b78183611398565b8101906113d0565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611c8f83398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f206114f8565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b8101906040818303126104785780358481116104785782610c4b918301611425565b91602082013585811161047857610c629201611425565b91610c6b61177f565b610c7361177f565b8151938411610d79575f80516020611c4f83398151915291610c9e85610c99855461134c565b6117c0565b602091601f8611600114610ce657509380610cd292610cd9965f92610cdb575b50508160011b915f199060031b1c19161790565b90556118b2565b005b015190505f80610cbe565b5f80516020611c4f8339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d61575050916001939187610cd9989410610d49575b505050811b0190556118b2565b01515f1960f88460031b161c191690555f8080610d3c565b80600186978294978701518155019601940190610d22565b611384565b34610478575f366003190112610478576040515f5f80516020611c6f833981519152805490610dac8261134c565b8085529160209160019182811690811561044b5750600114610dd8576103ef866103e381880382611398565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e1d575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e00565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610e8361047c565b60243567ffffffffffffffff8111610478575f91610ea683923690600401610bc7565b90816040519283928337810184815203915af4610ee5610ec461146b565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610fb3610f91610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff610ffe610fdc610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b346104785760403660031901126104785761109261108861047c565b6024359033611568565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610fb361125e61047c565b6104e9611269610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113206106f06106bc6106ca6112ec61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b90600182811c9216801561137a575b602083101461136657565b634e487b7160e01b5f52602260045260245ffd5b91607f169161135b565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610d7957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610d7957604052565b67ffffffffffffffff8111610d7957601f01601f191660200190565b81601f820112156104785780359061143c82611409565b9261144a6040519485611398565b8284526020838301011161047857815f926020809301838601378301015290565b3d15611495573d9061147c82611409565b9161148a6040519384611398565b82523d5f602084013e565b606090565b600b548110156114cf57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156114cf575f5260205f2001905f90565b80548061152d57505f5b6001600160d01b0381161561152757600161151d92016114e3565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611502565b5f8061038593602081519101845af461156261146b565b9161171c565b916001600160a01b03808416929083156116a657811693841561168e576001600160a01b0381165f908152600e602052604090206115aa906114f8565b6114f8565b9083821061165c57611657926115f95f80516020611c8f83398151915295936115e66116459460018060a01b03165f52600e60205260405f2090565b90856115f142611aab565b9103916119e9565b50506001600160a01b0381165f908152600e60205260409020908361163e6115a561162342611aab565b6001600160a01b039094165f908152600e6020526040902090565b01916119e9565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156116f6573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611743575080511561173157805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611776575b611754575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561174c565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117ae57565b604051631afcd79f60e31b8152600490fd5b601f81116117cc575050565b5f80516020611c4f8339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c8301931061182f575b601f0160051c01905b818110611824575050565b5f8155600101611819565b9091508190611810565b601f8111611845575050565b5f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118a8575b601f0160051c01905b81811061189d575050565b5f8155600101611892565b9091508190611889565b90815167ffffffffffffffff8111610d79575f80516020611c6f833981519152906118e6816118e1845461134c565b611839565b602080601f831160011461191b575081906119179394955f92610cdb5750508160011b915f199060031b1c19161790565b9055565b90601f198316956119595f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119945750508360019596971061197c575b505050811b019055565b01515f1960f88460031b161c191690555f8080611972565b8060018596829496860151815501950193019061195d565b90815491600160401b831015610d7957826119cf9160016119e7950181556114e3565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611a7b575b5084611a0684611add565b50949092845493611a16836114f8565b9681611a66575b5015611a43575050505f198101908111610627576119cf8591611a3f936114e3565b9190565b611a3f949293611a5f926001600160d01b039091169190611b71565b50506119ac565b65ffffffffffff83811691161490505f611a1d565b600160401b811015610d7957806001611a9792018455836114e3565b8154905f199060031b1b191690555f6119fb565b65ffffffffffff90818111611abe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611aee5750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610d7957611b33916001820181556114e3565b611b5e57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c2457611b88611b939161170e565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c1257879303611bd95750611bd292509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c0d91611bf9611beb6113e9565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b16565b611bd2565b604051632520601d60e01b8152600490fd5b5090611c4991611c35611beb6113e9565b6001600160d01b0385166020830152611b16565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa264697066735822122072ff05afa035e3294883aa36f6638d5dcca4d207764b3e9b41e2a260b9ffdade64736f6c63430008190033", - "sourceMap": "978:3948:133:-:0;;;;;;2603:64:52;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:52;978:3948:133;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:133;;;;;;;;-1:-1:-1;;978:3948:133;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:133;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3948:133;;;;;;;-1:-1:-1;;;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:133;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3948:133;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:133;;;;;;:::i;:::-;;;966:10:29;11141:19:28;11137:89;;-1:-1:-1;;;;;978:3948:133;;;11239:21:28;;11235:90;;11334:29;966:10:29;;11334:20:28;966:10:29;11334:20:28;:::i;:::-;978:3948:133;;;;;;;;;;;;;;;;11334:29:28;978:3948:133;;;;;;11415:31:28;978:3948:133;966:10:29;11415:31:28;;978:3948:133;;;10117:4:28;978:3948:133;;;11235:90:28;978:3948:133;;-1:-1:-1;;;11283:31:28;;-1:-1:-1;11283:31:28;;;978:3948:133;;;11283:31:28;11137:89;978:3948:133;;-1:-1:-1;;;11183:32:28;;11158:1;11183:32;;;978:3948:133;;;11183:32:28;978:3948:133;;;;;;-1:-1:-1;;978:3948:133;;;;;;;757:38:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;1732:13;978:3948;10446:8:77;;;:63;978:3948:133;10446:63:77;-1:-1:-1;;;;;978:3948:133;;10726:7:117;978:3948:133;;10736:17:117;978:3948:133;10736:17:117;;:::i;:::-;978:3948:133;;;;;;10726:31:117;978:3948:133;;;;;;10726:31:117;;978:3948:133;;10726:31:117;;10446:63:77;978:3948:133;;;;;;;;1732:13;978:3948;14439:109:77;;;978:3948:133;;;10446:63:77;;978:3948:133;;:::i;:::-;;;;;;-1:-1:-1;;978:3948:133;;;;;;;612:37:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;-1:-1:-1;3078:48:133;3013:156;3037:90;978:3948;;:::i;:::-;;;-1:-1:-1;;;978:3948:133;3078:48;;;-1:-1:-1;;;;;978:3948:133;;;;3078:48;;;978:3948;;;;;;;;;;;;;;;;3078:48;;978:3948;;3078:48;;;;;;:::i;:::-;3037:19;:90;:::i;:::-;978:3948;;;;3013:156;;;;;;:::i;:::-;978:3948;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;3194:10;3185:40;;978:3948;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:29;4867:29:28;966:10:29;4867:20:28;;;:::i;:29::-;978:3948:133;;11910:37:28;;;11906:310;;978:3948:133;6198:5:28;;;;:::i;:::-;978:3948:133;;4867:13:28;978:3948:133;;;;;11906:310:28;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3948:133;;11141:19:28;11137:89;;966:10:29;11239:21:28;11235:90;;978:3948:133;6198:5:28;978:3948:133;;11334:29:28;966:10:29;11334:20:28;;;:::i;:29::-;978:3948:133;11906:310:28;;11963:130;978:3948:133;;-1:-1:-1;;;12018:60:28;;966:10:29;978:3948:133;12018:60:28;;978:3948:133;;;;;;;;;;;;;;;12018:60:28;978:3948:133;;;;;;-1:-1:-1;;978:3948:133;;;;;4327:34:131;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;-1:-1:-1;;;;;978:3948:133;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;2227:28:131;978:3948:133;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;-1:-1:-1;;;1535:37:133;;978:3948;1535:37;;978:3948;;;;;;;;-1:-1:-1;;;;;978:3948:133;1535:37;;;;;;978:3948;1535:37;978:3948;1535:37;;;978:3948;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3948;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;1479:40:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3948:133;2242:52;;;-1:-1:-1;;;;;978:3948:133;;;2242:52;;;978:3948;;;;;;;;;2177:160;;2201:94;;2242:52;978:3948;;;;2242:52;978:3948;2177:160;978:3948;;;;;;;-1:-1:-1;;;;;978:3948:133;;-1:-1:-1;;;;;;;;;;;;;2353:46:133;978:3948;;2353:46;978:3948;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;2391:34:131;978:3948:133;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;4059:32:131;978:3948:133;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;-1:-1:-1;978:3948:133;2854:59:131;978:3948:133;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;1041:36:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;1714:45:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;4587:28:131;978:3948:133;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;3967:36:131;978:3948:133;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;2559:32:131;978:3948:133;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;-1:-1:-1;;;;;978:3948:133;;:::i;:::-;;-1:-1:-1;978:3948:133;1941:15;978:3948;;;1941:33;978:3948;-1:-1:-1;978:3948:133;1941:33;:::i;978:3948::-;-1:-1:-1;;;;;978:3948:133;;;;;4867:13:28;978:3948:133;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:133;;;;-1:-1:-1;;;;;978:3948:133;;:::i;:::-;;-1:-1:-1;978:3948:133;2730:68:131;978:3948:133;;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4846:34;;978:3948;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6893:76:27;;;:::i;:::-;;;:::i;:::-;978:3948:133;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3948:133;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;;;;-1:-1:-1;;978:3948:133;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:28;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3948:133;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3948:133;;;;;;;-1:-1:-1;;;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;3869:42:131;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;3775:38:131;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3948:133;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:106;;;;477:31;416:25;;:::i;:::-;978:3948:133;;;;;;;;;;477:31:106;;978:3948:133;;;;;;;;;;;:::i;477:31:106:-;518:79;;;978:3948:133;518:79:106;;978:3948:133;;;;;;-1:-1:-1;;978:3948:133;;;;;;2139:32:131;978:3948:133;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;900:35:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;3089:94:131;978:3948:133;;:::i;:::-;;;-1:-1:-1;978:3948:133;3089:94:131;978:3948:133;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;;;;3089:94:131;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;3239:92:131;978:3948:133;;:::i;:::-;;;-1:-1:-1;978:3948:133;3239:92:131;978:3948:133;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;;;;3239:92:131;978:3948:133;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;1187:40:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;4500:31:131;978:3948:133;;;-1:-1:-1;;;;;978:3948:133;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;4616:5:28;978:3948:133;;:::i;:::-;;;966:10:29;;4616:5:28;:::i;:::-;978:3948:133;;;4639:4:28;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;-1:-1:-1;978:3948:133;2969:64:131;978:3948:133;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;2481:22:131;978:3948:133;;;-1:-1:-1;;;;;978:3948:133;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;3573:43:131;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;1333:36:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;4239:32:131;978:3948:133;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;3672:47:131;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;4147:36:131;978:3948:133;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;2311:24:131;978:3948:133;;;-1:-1:-1;;;;;978:3948:133;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:133;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;466:39:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;4867:29:28;978:3948:133;;:::i;:::-;4867:20:28;978:3948:133;;:::i;:::-;4867:20:28;;:::i;978:3948:133:-;;;;;;-1:-1:-1;;978:3948:133;;;;;4417:27:131;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;1616:3:131;978:3948:133;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;2594:158;2618:92;2659:50;;978:3948;;:::i;:::-;;;-1:-1:-1;;;978:3948:133;2659:50;;;-1:-1:-1;;;;;978:3948:133;;;;2659:50;;;978:3948;;;;;;;;;;;;;;;;;2594:158;978:3948;-1:-1:-1;978:3948:133;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;2777:10;2768:46;;978:3948;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3948:133;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3948:133;;;;:::o;:::-;;;:::o;:::-;10736:12:117;978:3948:133;;;;;;10736:12:117;-1:-1:-1;978:3948:133;;;;-1:-1:-1;978:3948:133;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:133;;-1:-1:-1;978:3948:133;;;-1:-1:-1;978:3948:133;:::o;10580:184:117:-;978:3948:133;;10446:8:77;;;:63;-1:-1:-1;10446:63:77;-1:-1:-1;;;;;978:3948:133;;10726:7:117;978:3948:133;;10736:12:117;:17;:12;;:17;:::i;:::-;978:3948:133;;;;;;10580:184:117;:::o;10726:31::-;;;-1:-1:-1;10580:184:117;:::o;10446:63:77:-;978:3948:133;;;;;;;;;;14439:109:77;-1:-1:-1;14439:109:77;;-1:-1:-1;14439:109:77;;;978:3948:133;;;10446:63:77;;3900:253:60;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;6605:300:28:-;;-1:-1:-1;;;;;978:3948:133;;;;;6688:18:28;;6684:86;;978:3948:133;;6783:16:28;;;6779:86;;-1:-1:-1;;;;;978:3948:133;;;;;;1941:15;978:3948;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3669:19;;;;3665:115;;4521:25;3900:21;:65;-1:-1:-1;;;;;;;;;;;3900:21:133;;;4416:65;3900:21;978:3948;;;;;;;;1941:15;978:3948;;;;;;;3900:21;837:15:79;;819:34;837:15;819:34;:::i;:::-;978:3948:133;;3900:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3948:133;;;;;;1941:15;978:3948;;;;;837:15:79;;1941:33:133;:24;819:34:79;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3948:133;;;;;;;1941:15;978:3948;;;;;;;1941:33;978:3948;4416:65;;:::i;:::-;-1:-1:-1;;978:3948:133;;;;;;;;;;;;;4521:25;;;;6605:300:28:o;3665:115:133:-;978:3948;;-1:-1:-1;;;3715:50:133;;-1:-1:-1;;;;;978:3948:133;;;;3715:50;;;978:3948;;;;;;;;;;;;;;;;12018:60:28;6779:86;978:3948:133;;-1:-1:-1;;;6822:32:28;;6704:1;6822:32;;;978:3948:133;;;6822:32:28;6684:86;978:3948:133;;-1:-1:-1;;;6729:30:28;;6704:1;6729:30;;;978:3948:133;;;6729:30:28;2323:83:52;1019:819;;;;;;;4685:19:133;;1019:819:52;;;;;;;;;;;;;;;;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;:::o;4421:582:60:-;;4593:8;;-1:-1:-1;978:3948:133;;5674:21:60;:17;;5799:158;;;;;;5670:354;978:3948:133;;-1:-1:-1;;;5994:19:60;;;;;4589:408;978:3948:133;;4841:22:60;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3948:133;;-1:-1:-1;;;4917:24:60;;-1:-1:-1;;;;;978:3948:133;;;4917:24:60;;;978:3948:133;;;4917:24:60;4841:49;4867:18;;;:23;4841:49;;7084:141:27;978:3948:133;8837:64:27;978:3948:133;;;;7150:18:27;7146:73;;7084:141::o;7146:73::-;978:3948:133;;-1:-1:-1;;;7191:17:27;;;;;978:3948:133;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3948:133;;;;;;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3948:133;;;;;;;;;-1:-1:-1;978:3948:133;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:133;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3948:133;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:117:-;;;;;6360:12;;;978:3948:133;;;6360:24:117;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3948:133;;;;;;6578:12:117;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:117;;;-1:-1:-1;;;;;978:3948:133;;;;;;;6644:21:117;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3948:133;;8310:38:77;;-1:-1:-1;;;;;978:3948:133;;;;;8310:38:77;:::i;:::-;6753:24:117;;;:::i;6604:::-;978:3948:133;;;;;;6614:14:117;;-1:-1:-1;6604:24:117;;;6356:75;-1:-1:-1;;;978:3948:133;;;;;;6360:12:117;978:3948:133;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:117;;;14296:213:75;978:3948:133;14374:24:75;;;;14370:103;;978:3948:133;14296:213:75;:::o;14370:103::-;978:3948:133;;;;14421:41:75;;;;;;14452:2;14421:41;;;978:3948:133;;;;;14421:41:75;10695:389:77;978:3948:133;;10871:8:77;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3948:133;;;;;;;;;;10833:17:77;14439:109;;10833:17;14439:109;;;978:3948:133;11014:1:77;978:3948:133;;;;;;;11030:37:77;:::o;978:3948:133:-;;;-1:-1:-1;;;978:3948:133;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3948:133;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:77;978:3948:133;;11657:922:77;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3948:133;;;;;;;;;;;;12103:13:77;;;12099:89;;12251:14;;;;;12285:19;;;;978:3948:133;;;;;;;;;;;;;;;;;12285:19:77;978:3948:133;;12423:25:77;;:::o;12247:163::-;978:3948:133;;;12343:52:77;978:3948:133;12353:41:77;978:3948:133;;:::i;:::-;;;;;;;;12353:41:77;-1:-1:-1;;;;;978:3948:133;;12353:41:77;;;978:3948:133;12343:52:77;:::i;:::-;12247:163;;12099:89;978:3948:133;;-1:-1:-1;;;12143:30:77;;;;;11860:713;978:3948:133;;12479:52:77;978:3948:133;12489:41:77;978:3948:133;;:::i;12489:41:77:-;-1:-1:-1;;;;;978:3948:133;;12489:41:77;;;978:3948:133;12343:52:77;:::i;12479:::-;11870:1;12545:17;;:::o", - "linkReferences": {}, - "immutableReferences": { - "83679": [ - { "start": 1740, "length": 32 }, - { "start": 5832, "length": 32 } - ] - } - }, - "methodIdentifiers": { - "DEPOSITOR_WHITELIST_ROLE()": "1b66c9e1", - "DEPOSIT_LIMIT_SET_ROLE()": "a21a1df9", - "DEPOSIT_WHITELIST_SET_ROLE()": "db388715", - "EPOCH_DURATION_SET_ROLE()": "61819dd8", - "FLASH_FEE_BASE()": "ecc98f05", - "FLASH_FEE_RATE_SET_ROLE()": "bc46f722", - "FLASH_FEE_RECEIVER_SET_ROLE()": "31d9736c", - "FLASH_LOAN_ENABLED_SET_ROLE()": "a66b3a73", - "IS_DEPOSIT_LIMIT_SET_ROLE()": "1415519b", - "RETURN_VALUE()": "653b04cd", - "_VaultTokenized_init(bytes)": "7bd00ae8", - "_epochDuration()": "2fa27fae", - "_epochDurationInit()": "9f9962dd", - "_epochDurationInitIndex()": "9b4bae3e", - "_epochDurationSetEpochsDelay()": "bba6ff4a", - "_nextEpochDuration()": "c1bc6f51", - "_nextEpochDurationInit()": "cc52aee7", - "_nextEpochDurationSetEpochsDelay()": "c4db46fc", - "_nextEpochInitIndex()": "2749f9c4", - "_prevEpochDuration()": "5a36aa74", - "_prevEpochDurationInit()": "6e0f2455", - "_prevEpochDurationInitIndex()": "98ccba4a", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burner()": "27810b6e", - "collateral()": "d8dfeb45", - "decimals()": "313ce567", - "delegator()": "ce9b7930", - "deposit(address,uint256)": "47e7ef24", - "depositLimit()": "ecf70858", - "depositWhitelist()": "48d3b775", - "flashFeeRate()": "e945da7f", - "flashFeeReceiver()": "a8b24f9a", - "flashLoanEnabled()": "65d61c6c", - "isDelegatorInitialized()": "50861adc", - "isDepositLimit()": "a1b12202", - "isDepositorWhitelisted(address)": "794b15b7", - "isSlasherInitialized()": "6ec1e3f8", - "isWithdrawalsClaimed(uint256,address)": "a5d03223", - "name()": "06fdde03", - "redeem(address,uint256)": "1e9a6950", - "slasher()": "b1344271", - "staticDelegateCall(address,bytes)": "9f86fd85", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(address,uint256)": "f3fef3a3", - "withdrawalShares(uint256)": "afba70ad", - "withdrawalSharesOf(uint256,address)": "a3b54172", - "withdrawals(uint256)": "5cc07076" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":\"VaultTokenizedImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]}},\"version\":1}", - "metadata": { - "compiler": { "version": "0.8.25+commit.b61c2a91" }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "baseImplementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" } - ], - "type": "error", - "name": "AddressEmptyCode" - }, - { - "inputs": [], - "type": "error", - "name": "CheckpointUnorderedInsertion" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { - "internalType": "uint256", - "name": "allowance", - "type": "uint256" - }, - { "internalType": "uint256", "name": "needed", "type": "uint256" } - ], - "type": "error", - "name": "ERC20InsufficientAllowance" - }, - { - "inputs": [ - { "internalType": "address", "name": "sender", "type": "address" }, - { "internalType": "uint256", "name": "balance", "type": "uint256" }, - { "internalType": "uint256", "name": "needed", "type": "uint256" } - ], - "type": "error", - "name": "ERC20InsufficientBalance" - }, - { - "inputs": [ - { "internalType": "address", "name": "approver", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidApprover" - }, - { - "inputs": [ - { "internalType": "address", "name": "receiver", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidReceiver" - }, - { - "inputs": [ - { "internalType": "address", "name": "sender", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidSender" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidSpender" - }, - { "inputs": [], "type": "error", "name": "FailedCall" }, - { "inputs": [], "type": "error", "name": "InvalidInitialization" }, - { "inputs": [], "type": "error", "name": "NotInitializing" }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { "internalType": "uint8", "name": "bits", "type": "uint8" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "type": "error", - "name": "SafeCastOverflowedUintDowncast" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "version", - "type": "uint64", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { "inputs": [], "stateMutability": "payable", "type": "fallback" }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_BASE", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "RETURN_VALUE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [ - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "_VaultTokenized_init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "spender", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "burner", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "collateral", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "delegator", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "onBehalfOf", - "type": "address" - }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "depositedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositLimit", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositWhitelist", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeRate", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeReceiver", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashLoanEnabled", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDelegatorInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDepositLimit", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isDepositorWhitelisted", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isSlasherInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isWithdrawalsClaimed", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { "internalType": "string", "name": "", "type": "string" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "claimer", "type": "address" }, - { "internalType": "uint256", "name": "shares", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawnAssets", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "slasher", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "staticDelegateCall" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { "internalType": "string", "name": "", "type": "string" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "claimer", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "burnedShares", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalShares", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalSharesOf", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawals", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "Returns the value of tokens owned by `account`." - }, - "decimals()": { - "details": "Returns the decimals places of the token." - }, - "name()": { "details": "Returns the name of the token." }, - "staticDelegateCall(address,bytes)": { - "details": "It allows to use this contract's storage on-chain.", - "params": { - "data": "data to make a delegatecall with", - "target": "address of the contract to make a delegatecall to" - } - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "Returns the value of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "DEPOSITOR_WHITELIST_ROLE()": { - "notice": "Get a depositor whitelist status setter's role." - }, - "DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit setter's role." - }, - "DEPOSIT_WHITELIST_SET_ROLE()": { - "notice": "Get a deposit whitelist enabler/disabler's role." - }, - "EPOCH_DURATION_SET_ROLE()": { - "notice": "Get a epoch duration setter's role." - }, - "FLASH_FEE_BASE()": { "notice": "Get a flash fee base." }, - "FLASH_FEE_RATE_SET_ROLE()": { - "notice": "Get a flash fee rate setter's role." - }, - "FLASH_FEE_RECEIVER_SET_ROLE()": { - "notice": "Get a flash fee receiver setter's role." - }, - "FLASH_LOAN_ENABLED_SET_ROLE()": { - "notice": "Get a flash loan enabled setter's role." - }, - "IS_DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit enabler/disabler's role." - }, - "RETURN_VALUE()": { - "notice": "Get a value that must be returned by the flash loan borrower." - }, - "_epochDuration()": { - "notice": "Get a duration of the epoch (internal)." - }, - "_epochDurationInit()": { - "notice": "Get a time point of the epoch duration set (internal)." - }, - "_epochDurationInitIndex()": { - "notice": "Get the current epoch duration's first epoch (internal)." - }, - "_epochDurationSetEpochsDelay()": { - "notice": "Get a delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochDuration()": { - "notice": "Get a duration of the next epoch (internal)." - }, - "_nextEpochDurationInit()": { - "notice": "Get a time point of the next epoch duration set (internal)." - }, - "_nextEpochDurationSetEpochsDelay()": { - "notice": "Get the next delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochInitIndex()": { - "notice": "Get a the next epoch duration's first epoch (internal)." - }, - "_prevEpochDuration()": { - "notice": "Get a duration of the previous epoch (internal)." - }, - "_prevEpochDurationInit()": { - "notice": "Get a time point of the previous epoch duration set (internal)." - }, - "_prevEpochDurationInitIndex()": { - "notice": "Get a the previous epoch duration's first epoch (internal)." - }, - "burner()": { - "notice": "Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)." - }, - "collateral()": { "notice": "Get a vault collateral." }, - "delegator()": { - "notice": "Get a delegator (it delegates the vault's stake to networks and operators)." - }, - "depositLimit()": { - "notice": "Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)." - }, - "depositWhitelist()": { - "notice": "Get if the deposit whitelist is enabled." - }, - "flashFeeRate()": { - "notice": "Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)." - }, - "flashFeeReceiver()": { "notice": "Get a flash fee receiver." }, - "flashLoanEnabled()": { - "notice": "Get if a flash loan mechanic is enabled." - }, - "isDelegatorInitialized()": { - "notice": "Get if the delegator is initialized." - }, - "isDepositLimit()": { "notice": "Get if the deposit limit is set." }, - "isDepositorWhitelisted(address)": { - "notice": "Get if a given account is whitelisted as a depositor." - }, - "isSlasherInitialized()": { - "notice": "Get if the slasher is initialized." - }, - "isWithdrawalsClaimed(uint256,address)": { - "notice": "Get if the withdrawals are claimed for a particular account at a given epoch." - }, - "slasher()": { - "notice": "Get a slasher (it provides networks a slashing mechanism)." - }, - "staticDelegateCall(address,bytes)": { - "notice": "Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)." - }, - "withdrawalShares(uint256)": { - "notice": "Get a total number of withdrawal shares at a given epoch." - }, - "withdrawalSharesOf(uint256,address)": { - "notice": "Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)." - }, - "withdrawals(uint256)": { - "notice": "Get a total amount of the withdrawals at a given epoch." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { "enabled": true, "runs": 200 }, - "metadata": { "bytecodeHash": "ipfs" }, - "compilationTarget": { - "src/contracts/vault/v1.1/VaultTokenizedImplementation.sol": "VaultTokenizedImplementation" - }, - "evmVersion": "cancun", - "libraries": {}, - "viaIR": true - }, - "sources": { - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", - "urls": [ - "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", - "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol": { - "keccak256": "0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139", - "urls": [ - "bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2", - "dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", - "urls": [ - "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", - "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol": { - "keccak256": "0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866", - "urls": [ - "bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf", - "dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606", - "urls": [ - "bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1", - "dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": { - "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724", - "urls": [ - "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a", - "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol": { - "keccak256": "0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341", - "urls": [ - "bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce", - "dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol": { - "keccak256": "0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b", - "urls": [ - "bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e", - "dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol": { - "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b", - "urls": [ - "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b", - "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/Proxy.sol": { - "keccak256": "0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd", - "urls": [ - "bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac", - "dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", - "urls": [ - "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", - "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330", - "urls": [ - "bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf", - "dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", - "urls": [ - "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", - "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Errors.sol": { - "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", - "urls": [ - "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", - "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Panic.sol": { - "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", - "urls": [ - "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", - "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", - "urls": [ - "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", - "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", - "urls": [ - "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", - "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": { - "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", - "urls": [ - "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", - "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol": { - "keccak256": "0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f", - "urls": [ - "bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44", - "dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/types/Time.sol": { - "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", - "urls": [ - "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", - "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" - ], - "license": "MIT" - }, - "src/contracts/common/StaticDelegateCallable.sol": { - "keccak256": "0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90", - "urls": [ - "bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764", - "dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD" - ], - "license": "BUSL-1.1" - }, - "src/contracts/libraries/Checkpoints.sol": { - "keccak256": "0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c", - "urls": [ - "bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609", - "dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE" - ], - "license": "MIT" - }, - "src/contracts/vault/v1.1/VaultStorage.sol": { - "keccak256": "0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7", - "urls": [ - "bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70", - "dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultTokenizedImplementation.sol": { - "keccak256": "0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce", - "urls": [ - "bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1", - "dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs" - ], - "license": "BUSL-1.1" - }, - "src/interfaces/common/IStaticDelegateCallable.sol": { - "keccak256": "0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5", - "urls": [ - "bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516", - "dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVault.sol": { - "keccak256": "0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105", - "urls": [ - "bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd", - "dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultStorage.sol": { - "keccak256": "0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022", - "urls": [ - "bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882", - "dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultTokenized.sol": { - "keccak256": "0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0", - "urls": [ - "bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2", - "dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 133 -} +{"abi":[{"type":"constructor","inputs":[{"name":"baseImplementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_VaultTokenized_init","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a034606d57601f611d6a38819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d57608052604051611ce4908161008682396080518181816106cc01526116c80152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436106116be575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a3036116be576112c7565b6112aa565b61128c565b61126f565b611240565b611206565b6111db565b6111b3565b61118b565b61116e565b611146565b61110c565b6110ef565b6110c7565b61109d565b61106c565b611044565b61100a565b610fbc565b610f73565b610f39565b610f15565b610eed565b610e6a565b610e4d565b610e30565b610d7e565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c4f8339815191528054906103b68261134c565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e381880382611398565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d560209161149a565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b6116fa565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611398565b7f000000000000000000000000000000000000000000000000000000000000000061154b565b602080825183010191016113ba565b9290916040519081525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b6107739350611568565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b78183611398565b8101906113d0565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611c8f83398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f206114f8565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b8101906040818303126104785780358481116104785782610c4b918301611425565b91602082013585811161047857610c629201611425565b91610c6b61177f565b610c7361177f565b8151938411610d79575f80516020611c4f83398151915291610c9e85610c99855461134c565b6117c0565b602091601f8611600114610ce657509380610cd292610cd9965f92610cdb575b50508160011b915f199060031b1c19161790565b90556118b2565b005b015190505f80610cbe565b5f80516020611c4f8339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d61575050916001939187610cd9989410610d49575b505050811b0190556118b2565b01515f1960f88460031b161c191690555f8080610d3c565b80600186978294978701518155019601940190610d22565b611384565b34610478575f366003190112610478576040515f5f80516020611c6f833981519152805490610dac8261134c565b8085529160209160019182811690811561044b5750600114610dd8576103ef866103e381880382611398565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e1d575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e00565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610e8361047c565b60243567ffffffffffffffff8111610478575f91610ea683923690600401610bc7565b90816040519283928337810184815203915af4610ee5610ec461146b565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610fb3610f91610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff610ffe610fdc610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b346104785760403660031901126104785761109261108861047c565b6024359033611568565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610fb361125e61047c565b6104e9611269610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113206106f06106bc6106ca6112ec61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b90600182811c9216801561137a575b602083101461136657565b634e487b7160e01b5f52602260045260245ffd5b91607f169161135b565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610d7957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610d7957604052565b67ffffffffffffffff8111610d7957601f01601f191660200190565b81601f820112156104785780359061143c82611409565b9261144a6040519485611398565b8284526020838301011161047857815f926020809301838601378301015290565b3d15611495573d9061147c82611409565b9161148a6040519384611398565b82523d5f602084013e565b606090565b600b548110156114cf57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156114cf575f5260205f2001905f90565b80548061152d57505f5b6001600160d01b0381161561152757600161151d92016114e3565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611502565b5f8061038593602081519101845af461156261146b565b9161171c565b916001600160a01b03808416929083156116a657811693841561168e576001600160a01b0381165f908152600e602052604090206115aa906114f8565b6114f8565b9083821061165c57611657926115f95f80516020611c8f83398151915295936115e66116459460018060a01b03165f52600e60205260405f2090565b90856115f142611aab565b9103916119e9565b50506001600160a01b0381165f908152600e60205260409020908361163e6115a561162342611aab565b6001600160a01b039094165f908152600e6020526040902090565b01916119e9565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156116f6573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611743575080511561173157805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611776575b611754575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561174c565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117ae57565b604051631afcd79f60e31b8152600490fd5b601f81116117cc575050565b5f80516020611c4f8339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c8301931061182f575b601f0160051c01905b818110611824575050565b5f8155600101611819565b9091508190611810565b601f8111611845575050565b5f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118a8575b601f0160051c01905b81811061189d575050565b5f8155600101611892565b9091508190611889565b90815167ffffffffffffffff8111610d79575f80516020611c6f833981519152906118e6816118e1845461134c565b611839565b602080601f831160011461191b575081906119179394955f92610cdb5750508160011b915f199060031b1c19161790565b9055565b90601f198316956119595f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119945750508360019596971061197c575b505050811b019055565b01515f1960f88460031b161c191690555f8080611972565b8060018596829496860151815501950193019061195d565b90815491600160401b831015610d7957826119cf9160016119e7950181556114e3565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611a7b575b5084611a0684611add565b50949092845493611a16836114f8565b9681611a66575b5015611a43575050505f198101908111610627576119cf8591611a3f936114e3565b9190565b611a3f949293611a5f926001600160d01b039091169190611b71565b50506119ac565b65ffffffffffff83811691161490505f611a1d565b600160401b811015610d7957806001611a9792018455836114e3565b8154905f199060031b1b191690555f6119fb565b65ffffffffffff90818111611abe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611aee5750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610d7957611b33916001820181556114e3565b611b5e57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c2457611b88611b939161170e565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c1257879303611bd95750611bd292509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c0d91611bf9611beb6113e9565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b16565b611bd2565b604051632520601d60e01b8152600490fd5b5090611c4991611c35611beb6113e9565b6001600160d01b0385166020830152611b16565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205febc54f88cf5e4eea715486a05361f400a5ee8bef0bb5011390401cd82741bc64736f6c63430008190033","sourceMap":"978:3948:110:-:0;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;1324:40;;978:3948;;;;;;;;1324:40;978:3948;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;-1:-1:-1;978:3948:110;;;;;-1:-1:-1;978:3948:110","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106116be575f3560e01c806306fdde031461034b578063095ea7b3146103465780631415519b1461034157806318160ddd1461033c5780631b66c9e1146103375780631e9a69501461033257806323b872dd1461032d5780632749f9c41461032857806327810b6e146103235780632fa27fae1461031e578063313ce5671461031957806331d9736c1461031457806347e7ef241461030f57806348d3b7751461030a57806350861adc146103055780635a36aa74146103005780635cc07076146102fb57806361819dd8146102f6578063653b04cd146102f157806365d61c6c146102ec5780636e0f2455146102e75780636ec1e3f8146102e257806370a08231146102dd578063794b15b7146102d85780637bd00ae8146102d357806395d89b41146102ce57806398ccba4a146102c95780639b4bae3e146102c45780639f86fd85146102bf5780639f9962dd146102ba578063a1b12202146102b5578063a21a1df9146102b0578063a3b54172146102ab578063a5d03223146102a6578063a66b3a73146102a1578063a8b24f9a1461029c578063a9059cbb14610297578063afba70ad14610292578063b13442711461028d578063bba6ff4a14610288578063bc46f72214610283578063c1bc6f511461027e578063c4db46fc14610279578063cc52aee714610274578063ce9b79301461026f578063d8dfeb451461026a578063db38871514610265578063dd62ed3e14610260578063e945da7f1461025b578063ecc98f0514610256578063ecf70858146102515763f3fef3a3036116be576112c7565b6112aa565b61128c565b61126f565b611240565b611206565b6111db565b6111b3565b61118b565b61116e565b611146565b61110c565b6110ef565b6110c7565b61109d565b61106c565b611044565b61100a565b610fbc565b610f73565b610f39565b610f15565b610eed565b610e6a565b610e4d565b610e30565b610d7e565b610bf5565b610b8a565b610b1b565b610af6565b610ad1565b610aac565b610a72565b610a38565b610a0e565b6109e6565b6109c1565b6109a0565b610911565b6108d7565b61083f565b61081f565b6107f7565b6107da565b61072c565b610666565b61062c565b6105a0565b610566565b6104a8565b610388565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610385928181520190610350565b90565b34610478575f366003190112610478576040515f5f80516020611c4f8339815191528054906103b68261134c565b8085529160209160019182811690811561044b57506001146103f3575b6103ef866103e381880382611398565b60405191829182610374565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b838510610438575050505081016020016103e3826103ef5f6103d3565b805486860184015293820193810161041b565b90508695506103ef969350602092506103e394915060ff191682840152151560051b82010192935f6103d3565b5f80fd5b600435906001600160a01b038216820361047857565b602435906001600160a01b038216820361047857565b34610478576040366003190112610478576104c161047c565b602435331561054e576001600160a01b038216918215610536576104fe82916104e933610b52565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b34610478575f3660031901126104785760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610478575f36600319011261047857600a54806105ee57505f5b6001600160d01b038116156105e5576105d560209161149a565b90549060031b1c5b604051908152f35b5060205f6105dd565b805f1981011161062757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c6105bb565b6116fa565b34610478575f3660031901126104785760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b34610478576040366003190112610478575f6106ca6106ff6106f061068961047c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611398565b7f000000000000000000000000000000000000000000000000000000000000000061154b565b602080825183010191016113ba565b9290916040519081525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b346104785760603660031901126104785761074561047c565b61074d610492565b6044359061075e336104e985610b52565b54926001840161077f575b6107739350611568565b60405160018152602090f35b8284106107b4576001600160a01b0381161561054e573315610536578261077394036107ae336104e984610b52565b55610769565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610478575f366003190112610478576020601454604051908152f35b34610478575f366003190112610478576001546040516001600160a01b039091168152602090f35b34610478575f36600319011261047857602060015460d01c604051908152f35b34610478575f366003190112610478575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa80156108cc576103ef915f9161089d575b5060405160ff90911681529081906020820190565b6108bf915060203d6020116108c5575b6108b78183611398565b8101906113d0565b5f610888565b503d6108ad565b6040513d5f823e3d90fd5b34610478575f3660031901126104785760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346104785760403660031901126104785761092a61047c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610968906106f0906106ca81606481016106bc565b60405181815290926001600160a01b0316905f905f80516020611c8f83398151915290602090a3604080519182526020820192909252f35b34610478575f36600319011261047857602060ff5f54166040519015158152f35b34610478575f36600319011261047857602060ff60025460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135460301c16604051908152f35b34610478576020366003190112610478576004355f526006602052602060405f2054604051908152f35b34610478575f3660031901126104785760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610478575f3660031901126104785760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610478575f36600319011261047857602060ff60165460a01c166040519015158152f35b34610478575f36600319011261047857602065ffffffffffff60135416604051908152f35b34610478575f36600319011261047857602060ff60035460a01c166040519015158152f35b34610478576020366003190112610478576001600160a01b03610b3c61047c565b165f52600e60205260206105dd60405f206114f8565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b34610478576020366003190112610478576001600160a01b03610bab61047c565b165f526005602052602060ff60405f2054166040519015158152f35b9181601f840112156104785782359167ffffffffffffffff8311610478576020838186019501011161047857565b34610478576020806003193601126104785767ffffffffffffffff9060043582811161047857610c29903690600401610bc7565b8101906040818303126104785780358481116104785782610c4b918301611425565b91602082013585811161047857610c629201611425565b91610c6b61177f565b610c7361177f565b8151938411610d79575f80516020611c4f83398151915291610c9e85610c99855461134c565b6117c0565b602091601f8611600114610ce657509380610cd292610cd9965f92610cdb575b50508160011b915f199060031b1c19161790565b90556118b2565b005b015190505f80610cbe565b5f80516020611c4f8339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b828210610d61575050916001939187610cd9989410610d49575b505050811b0190556118b2565b01515f1960f88460031b161c191690555f8080610d3c565b80600186978294978701518155019601940190610d22565b611384565b34610478575f366003190112610478576040515f5f80516020611c6f833981519152805490610dac8261134c565b8085529160209160019182811690811561044b5750600114610dd8576103ef866103e381880382611398565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b838510610e1d575050505081016020016103e3826103ef5f6103d3565b8054868601840152938201938101610e00565b34610478575f366003190112610478576020601254604051908152f35b34610478575f366003190112610478576020601154604051908152f35b3461047857604036600319011261047857610e8361047c565b60243567ffffffffffffffff8111610478575f91610ea683923690600401610bc7565b90816040519283928337810184815203915af4610ee5610ec461146b565b916106bc604051938492151560208401526040808401526060830190610350565b805190602001fd5b34610478575f36600319011261047857602065ffffffffffff60015460a01c16604051908152f35b34610478575f36600319011261047857602060ff5f5460081c166040519015158152f35b34610478575f3660031901126104785760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b34610478576040366003190112610478576020610fb3610f91610492565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461047857604036600319011261047857602060ff610ffe610fdc610492565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610478575f3660031901126104785760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610478575f366003190112610478576016546040516001600160a01b039091168152602090f35b346104785760403660031901126104785761109261108861047c565b6024359033611568565b602060405160018152f35b34610478576020366003190112610478576004355f526007602052602060405f2054604051908152f35b34610478575f366003190112610478576003546040516001600160a01b039091168152602090f35b34610478575f366003190112610478576020600f54604051908152f35b34610478575f3660031901126104785760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610478575f36600319011261047857602065ffffffffffff60135460901c16604051908152f35b34610478575f366003190112610478576020601054604051908152f35b34610478575f36600319011261047857602065ffffffffffff60135460601c16604051908152f35b34610478575f366003190112610478576002546040516001600160a01b039091168152602090f35b34610478575f366003190112610478575f5460405160109190911c6001600160a01b03168152602090f35b34610478575f3660031901126104785760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b34610478576040366003190112610478576020610fb361125e61047c565b6104e9611269610492565b91610b52565b34610478575f366003190112610478576020601554604051908152f35b34610478575f366003190112610478576020604051633b9aca008152f35b34610478575f366003190112610478576020600454604051908152f35b34610478576040366003190112610478576113206106f06106bc6106ca6112ec61047c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f80516020611c8f83398151915260203392a3604080519182526020820192909252f35b90600182811c9216801561137a575b602083101461136657565b634e487b7160e01b5f52602260045260245ffd5b91607f169161135b565b634e487b7160e01b5f52604160045260245ffd5b90601f8019910116810190811067ffffffffffffffff821117610d7957604052565b9190826040910312610478576020825192015190565b90816020910312610478575160ff811681036104785790565b604051906040820182811067ffffffffffffffff821117610d7957604052565b67ffffffffffffffff8111610d7957601f01601f191660200190565b81601f820112156104785780359061143c82611409565b9261144a6040519485611398565b8284526020838301011161047857815f926020809301838601378301015290565b3d15611495573d9061147c82611409565b9161148a6040519384611398565b82523d5f602084013e565b606090565b600b548110156114cf57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b634e487b7160e01b5f52603260045260245ffd5b80548210156114cf575f5260205f2001905f90565b80548061152d57505f5b6001600160d01b0381161561152757600161151d92016114e3565b90549060031b1c90565b50505f90565b5f1990808281011161062757825f5260205f2001015460301c611502565b5f8061038593602081519101845af461156261146b565b9161171c565b916001600160a01b03808416929083156116a657811693841561168e576001600160a01b0381165f908152600e602052604090206115aa906114f8565b6114f8565b9083821061165c57611657926115f95f80516020611c8f83398151915295936115e66116459460018060a01b03165f52600e60205260405f2090565b90856115f142611aab565b9103916119e9565b50506001600160a01b0381165f908152600e60205260409020908361163e6115a561162342611aab565b6001600160a01b039094165f908152600e6020526040902090565b01916119e9565b50506040519081529081906020820190565b0390a3565b60405163391434e360e21b81526001600160a01b03919091166004820152602481019190915260448101839052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156116f6573d5ff35b3d5ffd5b634e487b7160e01b5f52601160045260245ffd5b5f1981019190821161062757565b90611743575080511561173157805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580611776575b611754575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561174c565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156117ae57565b604051631afcd79f60e31b8152600490fd5b601f81116117cc575050565b5f80516020611c4f8339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c8301931061182f575b601f0160051c01905b818110611824575050565b5f8155600101611819565b9091508190611810565b601f8111611845575050565b5f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c830193106118a8575b601f0160051c01905b81811061189d575050565b5f8155600101611892565b9091508190611889565b90815167ffffffffffffffff8111610d79575f80516020611c6f833981519152906118e6816118e1845461134c565b611839565b602080601f831160011461191b575081906119179394955f92610cdb5750508160011b915f199060031b1c19161790565b9055565b90601f198316956119595f80516020611c6f8339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106119945750508360019596971061197c575b505050811b019055565b01515f1960f88460031b161c191690555f8080611972565b8060018596829496860151815501950193019061195d565b90815491600160401b831015610d7957826119cf9160016119e7950181556114e3565b90919082549060031b91821b915f19901b1916179055565b565b90929192600182019081548015611a7b575b5084611a0684611add565b50949092845493611a16836114f8565b9681611a66575b5015611a43575050505f198101908111610627576119cf8591611a3f936114e3565b9190565b611a3f949293611a5f926001600160d01b039091169190611b71565b50506119ac565b65ffffffffffff83811691161490505f611a1d565b600160401b811015610d7957806001611a9792018455836114e3565b8154905f199060031b1b191690555f6119fb565b65ffffffffffff90818111611abe571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b805480611aee5750505f905f905f90565b5f19918183810111610627575f5260205f2001015460019165ffffffffffff82169160301c90565b8054600160401b811015610d7957611b33916001820181556114e3565b611b5e57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b80549293928015611c2457611b88611b939161170e565b825f5260205f200190565b9182549265ffffffffffff91828516928116808411611c1257879303611bd95750611bd292509065ffffffffffff82549181199060301b169116179055565b60301c9190565b915050611c0d91611bf9611beb6113e9565b65ffffffffffff9093168352565b6001600160d01b0386166020830152611b16565b611bd2565b604051632520601d60e01b8152600490fd5b5090611c4991611c35611beb6113e9565b6001600160d01b0385166020830152611b16565b5f919056fe52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212205febc54f88cf5e4eea715486a05361f400a5ee8bef0bb5011390401cd82741bc64736f6c63430008190033","sourceMap":"978:3948:110:-:0;;;;;;2603:64:50;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;978:3948:110;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;-1:-1:-1;;978:3948:110;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;-1:-1:-1;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;978:3948:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;978:3948:110;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;978:3948:110;;;;;;;;;;;;;;;;11334:29:27;978:3948:110;;;;;;11415:31:27;978:3948:110;966:10:28;11415:31:27;;978:3948:110;;;10117:4:27;978:3948:110;;;11235:90:27;978:3948:110;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;978:3948:110;;;11283:31:27;11137:89;978:3948:110;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;978:3948:110;;;11183:32:27;978:3948:110;;;;;;-1:-1:-1;;978:3948:110;;;;;;;757:38:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;1732:13;978:3948;10446:8:71;;;:63;978:3948:110;10446:63:71;-1:-1:-1;;;;;978:3948:110;;10726:7:94;978:3948:110;;10736:17:94;978:3948:110;10736:17:94;;:::i;:::-;978:3948:110;;;;;;10726:31:94;978:3948:110;;;;;;10726:31:94;;978:3948:110;;10726:31:94;;10446:63:71;978:3948:110;;;;;;;;1732:13;978:3948;14439:109:71;;;978:3948:110;;;10446:63:71;;978:3948:110;;:::i;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;;612:37:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;3078:48:110;3013:156;3037:90;978:3948;;:::i;:::-;;;-1:-1:-1;;;978:3948:110;3078:48;;;-1:-1:-1;;;;;978:3948:110;;;;3078:48;;;978:3948;;;;;;;;;;;;;;;;3078:48;;978:3948;;3078:48;;;;;;:::i;:::-;3037:19;:90;:::i;:::-;978:3948;;;;3013:156;;;;;;:::i;:::-;978:3948;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;3194:10;3185:40;;978:3948;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;978:3948:110;;11910:37:27;;;11906:310;;978:3948:110;6198:5:27;;;;:::i;:::-;978:3948:110;;4867:13:27;978:3948:110;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;978:3948:110;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;978:3948:110;6198:5:27;978:3948:110;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;978:3948:110;11906:310:27;;11963:130;978:3948:110;;-1:-1:-1;;;12018:60:27;;966:10:28;978:3948:110;12018:60:27;;978:3948:110;;;;;;;;;;;;;;;12018:60:27;978:3948:110;;;;;;-1:-1:-1;;978:3948:110;;;;;3788:34:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;2129:28:108;978:3948:110;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;-1:-1:-1;;;1535:37:110;;978:3948;1535:37;;978:3948;;;;;;;;-1:-1:-1;;;;;978:3948:110;1535:37;;;;;;978:3948;1535:37;978:3948;1535:37;;;978:3948;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;1535:37;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;978:3948;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1479:40:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;-1:-1:-1;;;978:3948:110;2242:52;;;-1:-1:-1;;;;;978:3948:110;;;2242:52;;;978:3948;;;;;;;;;2177:160;;2201:94;;2242:52;978:3948;;;;2242:52;978:3948;2177:160;978:3948;;;;;;;-1:-1:-1;;;;;978:3948:110;;-1:-1:-1;;;;;;;;;;;;;2353:46:110;978:3948;;2353:46;978:3948;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;2293:34:108;978:3948:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;3667:32:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;-1:-1:-1;978:3948:110;2756:59:108;978:3948:110;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1041:36:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1714:45:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;4048:28:108;978:3948:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;3624:36:108;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;2461:32:108;978:3948:110;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;;;;;978:3948:110;;:::i;:::-;;-1:-1:-1;978:3948:110;1941:15;978:3948;;;1941:33;978:3948;-1:-1:-1;978:3948:110;1941:33;:::i;978:3948::-;-1:-1:-1;;;;;978:3948:110;;;;;4867:13:27;978:3948:110;;;;;;:::o;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;;;;;978:3948:110;;:::i;:::-;;-1:-1:-1;978:3948:110;2632:68:108;978:3948:110;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4846:34;;978:3948;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;978:3948:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3948:110;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;-1:-1:-1;;978:3948:110;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;978:3948:110;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;978:3948:110;;;;;;;-1:-1:-1;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3575:42:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3530:38:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;978:3948:110;;;;;;;;;;477:31:86;;978:3948:110;;;;;;;;;;;:::i;477:31:86:-;518:79;;;978:3948:110;518:79:86;;978:3948:110;;;;;;-1:-1:-1;;978:3948:110;;;;;;2090:32:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;900:35:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;2991:94:108;978:3948:110;;:::i;:::-;;;-1:-1:-1;978:3948:110;2991:94:108;978:3948:110;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;2991:94:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;3141:92:108;978:3948:110;;:::i;:::-;;;-1:-1:-1;978:3948:110;3141:92:108;978:3948:110;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;;;;3141:92:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1187:40:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;3961:31:108;978:3948:110;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;4616:5:27;978:3948:110;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;978:3948:110;;;4639:4:27;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;-1:-1:-1;978:3948:110;2871:64:108;978:3948:110;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;2383:22:108;978:3948:110;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3426:43:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1333:36:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;3749:32:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;3476:47:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;3706:36:108;978:3948:110;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;2213:24:108;978:3948:110;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;;;;978:3948:110;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;466:39:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;4867:29:27;978:3948:110;;:::i;:::-;4867:20:27;978:3948:110;;:::i;:::-;4867:20:27;;:::i;978:3948:110:-;;;;;;-1:-1:-1;;978:3948:110;;;;;3878:27:108;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;1616:3:108;978:3948:110;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;2594:158;2618:92;2659:50;;978:3948;;:::i;:::-;;;-1:-1:-1;;;978:3948:110;2659:50;;;-1:-1:-1;;;;;978:3948:110;;;;2659:50;;;978:3948;;;;;;;;;;;;;;;;;2594:158;978:3948;-1:-1:-1;978:3948:110;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;2777:10;2768:46;;978:3948;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;978:3948:110;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;978:3948:110;;;;:::o;:::-;;;:::o;:::-;10736:12:94;978:3948:110;;;;;;10736:12:94;-1:-1:-1;978:3948:110;;;;-1:-1:-1;978:3948:110;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;978:3948:110;;-1:-1:-1;978:3948:110;;;-1:-1:-1;978:3948:110;:::o;10580:184:94:-;978:3948:110;;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;978:3948:110;;10726:7:94;978:3948:110;;10736:12:94;:17;:12;;:17;:::i;:::-;978:3948:110;;;;;;10580:184:94;:::o;10726:31::-;;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;978:3948:110;;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;;978:3948:110;;;10446:63:71;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;6605:300:27:-;;-1:-1:-1;;;;;978:3948:110;;;;;6688:18:27;;6684:86;;978:3948:110;;6783:16:27;;;6779:86;;-1:-1:-1;;;;;978:3948:110;;;;;;1941:15;978:3948;;;;;1941:33;;;:::i;:24::-;:33;:::i;:::-;3669:19;;;;3665:115;;4521:25;3900:21;:65;-1:-1:-1;;;;;;;;;;;3900:21:110;;;4416:65;3900:21;978:3948;;;;;;;;1941:15;978:3948;;;;;;;3900:21;837:15:73;;819:34;837:15;819:34;:::i;:::-;978:3948:110;;3900:65;;:::i;:::-;-1:-1:-1;;;;;;;978:3948:110;;;;;;1941:15;978:3948;;;;;837:15:73;;1941:33:110;:24;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;978:3948:110;;;;;;;1941:15;978:3948;;;;;;;1941:33;978:3948;4416:65;;:::i;:::-;-1:-1:-1;;978:3948:110;;;;;;;;;;;;;4521:25;;;;6605:300:27:o;3665:115:110:-;978:3948;;-1:-1:-1;;;3715:50:110;;-1:-1:-1;;;;;978:3948:110;;;;3715:50;;;978:3948;;;;;;;;;;;;;;;;12018:60:27;6779:86;978:3948:110;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;978:3948:110;;;6822:32:27;6684:86;978:3948:110;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;978:3948:110;;;6729:30:27;2323:83:50;1019:819;;;;;;;4685:19:110;;1019:819:50;;;;;;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;:::o;4421:582:56:-;;4593:8;;-1:-1:-1;978:3948:110;;5674:21:56;:17;;5799:158;;;;;;5670:354;978:3948:110;;-1:-1:-1;;;5994:19:56;;;;;4589:408;978:3948:110;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;978:3948:110;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;978:3948:110;;;4917:24:56;;;978:3948:110;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;7084:141:26;978:3948:110;8837:64:26;978:3948:110;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;978:3948:110;;-1:-1:-1;;;7191:17:26;;;;;978:3948:110;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3948:110;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;978:3948:110;;;;;;;;;-1:-1:-1;978:3948:110;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;978:3948:110;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;978:3948:110;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;6246:584:94:-;;;;;6360:12;;;978:3948:110;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;978:3948:110;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;978:3948:110;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;978:3948:110;;8310:38:71;;-1:-1:-1;;;;;978:3948:110;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;978:3948:110;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;978:3948:110;;;;;;6360:12:94;978:3948:110;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;14296:213:69;978:3948:110;14374:24:69;;;;14370:103;;978:3948:110;14296:213:69;:::o;14370:103::-;978:3948:110;;;;14421:41:69;;;;;;14452:2;14421:41;;;978:3948:110;;;;;14421:41:69;10695:389:71;978:3948:110;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;978:3948:110;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;978:3948:110;11014:1:71;978:3948:110;;;;;;;11030:37:71;:::o;978:3948:110:-;;;-1:-1:-1;;;978:3948:110;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;978:3948:110;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;978:3948:110;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;978:3948:110;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;978:3948:110;;;;;;;;;;;;;;;;;12285:19:71;978:3948:110;;12423:25:71;;:::o;12247:163::-;978:3948:110;;;12343:52:71;978:3948:110;12353:41:71;978:3948:110;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;978:3948:110;;12353:41:71;;;978:3948:110;12343:52:71;:::i;:::-;12247:163;;12099:89;978:3948:110;;-1:-1:-1;;;12143:30:71;;;;;11860:713;978:3948:110;;12479:52:71;978:3948:110;12489:41:71;978:3948:110;;:::i;12489:41:71:-;-1:-1:-1;;;;;978:3948:110;;12489:41:71;;;978:3948:110;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"72424":[{"start":1740,"length":32},{"start":5832,"length":32}]}},"methodIdentifiers":{"DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(bytes)":"7bd00ae8","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","collateral()":"d8dfeb45","decimals()":"313ce567","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":\"VaultTokenizedImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6\",\"dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d\",\"dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseImplementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"decimals()":{"details":"Returns the decimals places of the token."},"name()":{"details":"Returns the name of the token."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":"VaultTokenizedImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7","urls":["bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6","dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b","urls":["bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d","dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"}},"version":1},"id":110} \ No newline at end of file diff --git a/out/VaultVotes.sol/VaultVotes.json b/out/VaultVotes.sol/VaultVotes.json index 7f28813..c8e7867 100644 --- a/out/VaultVotes.sol/VaultVotes.json +++ b/out/VaultVotes.sol/VaultVotes.json @@ -1,2024 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "vaultFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "implementation", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { "type": "fallback", "stateMutability": "payable" }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FACTORY", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_BASE", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MIN_EXIT_WINDOW", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RETURN_VALUE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burner", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collateral", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "delegator", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositWhitelist", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeRate", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeReceiver", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoanEnabled", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" } - ], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "initialVersion", - "type": "uint64", - "internalType": "uint64" - }, - { "name": "owner_", "type": "address", "internalType": "address" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isDelegatorInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositorWhitelisted", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isSlasherInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isWithdrawalsClaimed", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "migrate", - "inputs": [ - { "name": "newVersion", "type": "uint64", "internalType": "uint64" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceOwnership", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { - "name": "callerConfirmation", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "slasher", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "staticDelegateCall", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { "name": "newOwner", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalShares", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalSharesOf", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawals", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "previousOwner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { "type": "error", "name": "AccessControlBadConfirmation", "inputs": [] }, - { - "type": "error", - "name": "AccessControlUnauthorizedAccount", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "neededRole", "type": "bytes32", "internalType": "bytes32" } - ] - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" } - ] - }, - { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, - { "type": "error", "name": "AlreadySet", "inputs": [] }, - { "type": "error", "name": "FailedCall", "inputs": [] }, - { "type": "error", "name": "InvalidAccount", "inputs": [] }, - { "type": "error", "name": "InvalidCollateral", "inputs": [] }, - { "type": "error", "name": "InvalidData", "inputs": [] }, - { "type": "error", "name": "InvalidEpochDuration", "inputs": [] }, - { - "type": "error", - "name": "InvalidEpochDurationSetEpochsDelay", - "inputs": [] - }, - { "type": "error", "name": "InvalidFlashParams", "inputs": [] }, - { "type": "error", "name": "InvalidInitialization", "inputs": [] }, - { "type": "error", "name": "InvalidOrigin", "inputs": [] }, - { "type": "error", "name": "MissingRoles", "inputs": [] }, - { "type": "error", "name": "NoDepositWhitelist", "inputs": [] }, - { "type": "error", "name": "NotFactory", "inputs": [] }, - { "type": "error", "name": "NotInitialized", "inputs": [] }, - { "type": "error", "name": "NotInitializing", "inputs": [] }, - { - "type": "error", - "name": "OwnableInvalidOwner", - "inputs": [ - { "name": "owner", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "OwnableUnauthorizedAccount", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ] - }, - { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, - { - "type": "error", - "name": "SafeCastOverflowedUintDowncast", - "inputs": [ - { "name": "bits", "type": "uint8", "internalType": "uint8" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ] - } - ], - "bytecode": { - "object": "0x60c034610123576128ee906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a0525161279e9081610150823960805181818161056601526106d1015260a051818181611320015281816115060152611b010152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212200088f9a672d8ce1397c106a4fa871e3ce1007d6cc814418c7a18d3e05a36339764736f6c63430008190033", - "sourceMap": "395:982:134:-:0;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:27;;395:982:134;;;;;;;;;7896:76:27;;395:982:134;;;;7985:34:27;7981:146;;-1:-1:-1;927:17:102;;;;;1445:31:129;;395:982:134;;;;;;;927:17:102;395:982:134;;;;;;;;;;1445:31:129;395:982:134;;;;;;;;;;;;;;;;7981:146:27;-1:-1:-1;;;;;;395:982:134;;;;;;;;;;;;;8087:29:27;;395:982:134;;8087:29:27;7981:146;;;;;7896:76;395:982:134;;-1:-1:-1;;;7938:23:27;;;;;395:982:134;-1:-1:-1;395:982:134;;;;;;-1:-1:-1;395:982:134;;;;;-1:-1:-1;395:982:134;;;;-1:-1:-1;;;;;395:982:134;;;;;;:::o", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a26469706673582212200088f9a672d8ce1397c106a4fa871e3ce1007d6cc814418c7a18d3e05a36339764736f6c63430008190033", - "sourceMap": "395:982:134:-:0;;;;;;2603:64:52;395:982:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:52;395:982:134;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:24;;;:87;;;;395:982:134;;;;;;;;;;3551:87:24;-1:-1:-1;;;1134:40:33;;-1:-1:-1;3551:87:24;;;395:982:134;-1:-1:-1;395:982:134;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;757:38:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;612:37:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;-1:-1:-1;395:982:134;-1:-1:-1;;;;;;;;;;;395:982:134;;;4919:24:24;395:982:134;-1:-1:-1;395:982:134;4919:24:24;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;4327:34:131;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;:::i;:::-;2499:73:31;;1991:1;395:982:134;;3670:20:31;3666:88;;1991:1;;;1673:7:102;-1:-1:-1;;;;;395:982:134;1659:10:102;:21;1655:71;;-1:-1:-1;;;;;;;;;;;395:982:134;;;;;;;;;;;6431:44:27;;;;395:982:134;6427:105:27;;-1:-1:-1;;395:982:134;;;;;;;;;-1:-1:-1;;;;;;;;;;;395:982:134;;-1:-1:-1;;;;395:982:134;-1:-1:-1;;;395:982:134;;;6656:20:27;;;;395:982:134;;;;1809:204:102;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:134;;-1:-1:-1;;;;395:982:134;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;6656:20:27;;;;3426:1:31;1949;2499:73;1991:1;3860:283;3426:1;395:982:134;6427:105:27;395:982:134;;-1:-1:-1;;;6498:23:27;;395:982:134;;6498:23:27;6431:44;395:982:134;;;;6450:25:27;;;6431:44;;1655:71:102;395:982:134;;-1:-1:-1;;;1703:12:102;;395:982:134;;1703:12:102;3666:88:31;395:982:134;;-1:-1:-1;;;3713:30:31;;395:982:134;;3713:30:31;395:982:134;;;;;;-1:-1:-1;;395:982:134;;;;;;655:32:102;-1:-1:-1;;;;;395:982:134;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;:::o;:::-;;;;;;-1:-1:-1;;395:982:134;;;;5350:25:24;395:982:134;;;;;;;:::i;:::-;;-1:-1:-1;395:982:134;-1:-1:-1;;;;;;;;;;;395:982:134;;3202:4:24;4919:24;395:982:134;-1:-1:-1;395:982:134;4919:24:24;395:982:134;3202:4:24;:::i;:::-;5350:25;:::i;395:982:134:-;;;;;;-1:-1:-1;;395:982:134;;;;;2227:28:131;395:982:134;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;1479:40:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;:::i;:::-;966:10:29;-1:-1:-1;;;;;395:982:134;;6441:34:24;6437:102;;6549:37;395:982:134;;;6549:37:24;:::i;6437:102::-;395:982:134;;-1:-1:-1;;;6498:30:24;;395:982:134;;6498:30:24;395:982:134;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;2391:34:131;395:982:134;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;-1:-1:-1;;;;;;;;;;;;;;;;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:27;;395:982:134;;;;;;734:29:102;730:87;;395:982:134;;;;;6431:44:27;;;;;395:982:134;6427:105:27;;;6656:20;395:982:134;6656:20:27;395:982:134;1167:340:102;395:982:134;;;;-1:-1:-1;;;;;395:982:134;;;;;6575:22:27;-1:-1:-1;;;;;;;;;;;;;;395:982:134;;;;;;;;;6575:22:27;1167:340:102;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:134;;-1:-1:-1;;;;395:982:134;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;6656:20:27;;;;395:982:134;6427:105:27;395:982:134;;-1:-1:-1;;;6498:23:27;;395:982:134;;6498:23:27;6431:44;395:982:134;;;;;-1:-1:-1;6450:25:27;6431:44;;;730:87:102;395:982:134;;-1:-1:-1;;;786:20:102;;395:982:134;;786:20:102;395:982:134;;;;;;-1:-1:-1;;395:982:134;;;;;;4059:32:131;395:982:134;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;-1:-1:-1;395:982:134;2854:59:131;395:982:134;;;;-1:-1:-1;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;1041:36:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;1714:45:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;4587:28:131;395:982:134;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;3967:36:131;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;2559:32:131;395:982:134;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;2303:62:25;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:134;;-1:-1:-1;;;;;;395:982:134;;;;;;;-1:-1:-1;;;;;395:982:134;3975:40:25;395:982:134;;3975:40:25;395:982:134;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;395:982:134;2730:68:131;395:982:134;;;;;-1:-1:-1;395:982:134;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;-1:-1:-1;;;;;;;;;;;395:982:134;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;3901:31:24;395:982:134;;;;;:::i;:::-;;;-1:-1:-1;395:982:134;-1:-1:-1;;;;;;;;;;;395:982:134;;;-1:-1:-1;395:982:134;;;;;;;;;;;;;;;;;3901:31:24;395:982:134;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;3869:42:131;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;3775:38:131;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;395:982:134;;;;-1:-1:-1;395:982:134;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:106;;;;477:31;416:25;;:::i;:::-;395:982:134;;;;;;;;;;477:31:106;;395:982:134;;;;;;;;;;;:::i;:::-;477:31:106;;;;;;;;;:::i;:::-;518:79;;;395:982:134;518:79:106;;395:982:134;;;;;;-1:-1:-1;;395:982:134;;;;;;2139:32:131;395:982:134;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;900:35:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;3089:94:131;395:982:134;;;;;:::i;:::-;;;-1:-1:-1;395:982:134;3089:94:131;395:982:134;;;-1:-1:-1;395:982:134;;;;;;;;;;;;;;;;;3089:94:131;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;3239:92:131;395:982:134;;;;;:::i;:::-;;;-1:-1:-1;395:982:134;3239:92:131;395:982:134;;;-1:-1:-1;395:982:134;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;1187:40:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;4500:31:131;395:982:134;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;-1:-1:-1;395:982:134;2969:64:131;395:982:134;;;;-1:-1:-1;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;2481:22:131;395:982:134;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;3573:43:131;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;1333:36:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;4239:32:131;395:982:134;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;3672:47:131;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;4147:36:131;395:982:134;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;2311:24:131;395:982:134;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;5767:26:24;395:982:134;;;;;;;:::i;:::-;;-1:-1:-1;395:982:134;-1:-1:-1;;;;;;;;;;;395:982:134;;3202:4:24;4919:24;395:982:134;-1:-1:-1;395:982:134;4919:24:24;395:982:134;3202:4:24;:::i;:::-;5767:26;:::i;395:982:134:-;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;466:39:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;4417:27:131;395:982:134;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;1616:3:131;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:134;;;;;;;1286:6:129;395:982:134;;;;;;;;;-1:-1:-1;;395:982:134;;;;2357:1:25;395:982:134;;;;;:::i;:::-;2303:62:25;;:::i;:::-;2357:1;:::i;395:982:134:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:106;;395:982:134;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;:::o;:::-;;;;6430:19:129;395:982:134;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;:::o;:::-;-1:-1:-1;;;;;395:982:134;;;;;;-1:-1:-1;;395:982:134;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:134;;;;;;:::o;1167:340:102:-;;395:982:134;1167:340:102;6893:76:27;;:::i;:::-;;;:::i;:::-;1949:1:31;2499:73;1991:1;-1:-1:-1;;;;;395:982:134;;1376:73:102;;1167:340;395:982:134;;;;:::i;:::-;;;740:55:132;;;;;;;395:982:134;;;;;;;740:55:132;;;395:982:134;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;807:73;395:982;;755:135;395:982;;;;;;:::i;:::-;;;;;;;;848:17:132;395:982:134;:::i;:::-;877:169:132;929:107;;1615:14:129;1007:11:132;;1020:13;;395:982:134;996:38:132;395:982:134;;996:38:132;;;;;;;:::i;:::-;;477:31:106;996:38:132;477:31:106;;996:38:132;;;;;;;;:::i;:::-;395:982:134;;-1:-1:-1;;;929:107:132;;;;395:982:134;;;929:107:132;;;;:::i;:::-;;;;;;;;;:::i;:::-;877:169;;:::i;:::-;;807:73:134;866:12;;:::i;:::-;395:982;;807:73;;;;;;;;;;929:107:132;807:73:134;;;:::i;:::-;;;;;;;;;:::i;:::-;755:135;:::i;:::-;;1167:340:102:o;1376:73::-;6961:1:27;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:102;;;395:982:134;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;395:982:134;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:134;;;;;;;;-1:-1:-1;;395:982:134;;;;:::o;3405:215:25:-;-1:-1:-1;;;;;395:982:134;;;;3489:22:25;;3485:91;;-1:-1:-1;;;;;;;;;;;395:982:134;;-1:-1:-1;;;;;;395:982:134;;;;;;;;3975:40:25;-1:-1:-1;;3975:40:25;3405:215::o;3485:91::-;395:982:134;;-1:-1:-1;;;3534:31:25;;3509:1;3534:31;;;395:982:134;;;3534:31:25;1809:204:102;;395:982:134;1038:1;1809:204:102;-1:-1:-1;;;;;1809:204:102;395:982:134;;;:::i;:::-;;;1024:15;1038:1;;395:982;1055:86;;1155:143;395:982;1211:73;1270:12;;:::i;:::-;395:982;;807:73;;;;;;1211;;;;;;;;395:982;;;;;;:::i;1211:73::-;1615:14:129;1155:143:134;:::i;1055:86::-;395:982;;-1:-1:-1;;;1101:25:134;;1038:1;;1101:25;1020:349;395:982;;-1:-1:-1;;;1336:22:134;;1038:1;;1336:22;4148:103:24;-1:-1:-1;395:982:134;;;-1:-1:-1;;;;;;;;;;;395:982:134;;;;;;;;966:10:29;395:982:134;;;;;;;;;;4468:23:24;4464:108;;4148:103;:::o;4464:108::-;395:982:134;;;;4514:47:24;;;;;;966:10:29;4514:47:24;;;395:982:134;;;;;4514:47:24;7270:387;-1:-1:-1;;;;;395:982:134;;3191:17:129;395:982:134;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;;;3191:17:129;395:982:134;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;-1:-1:-1;;395:982:134;7509:4:24;395:982:134;;;966:10:29;;-1:-1:-1;;;;;395:982:134;-1:-1:-1;7532:40:24;-1:-1:-1;;7532:40:24;7509:4;7586:11;:::o;7432:219::-;7628:12;;3191:17:129;7628:12:24;:::o;7270:387::-;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;395:982:134;;;;;;;;;466:39:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;3901:31:24;395:982:134;;;;-1:-1:-1;395:982:134;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;-1:-1:-1;;395:982:134;7509:4:24;395:982:134;;;966:10:29;;-1:-1:-1;;;;;395:982:134;;7532:40:24;-1:-1:-1;;7532:40:24;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:24;:::o;7270:387::-;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;395:982:134;;;;;;;;;612:37:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;3901:31:24;395:982:134;7270:387:24;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;395:982:134;;;;;;;;;757:38:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;3901:31:24;395:982:134;7270:387:24;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;395:982:134;;;;;;;;;900:35:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;3901:31:24;395:982:134;7270:387:24;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;395:982:134;;;;;;;;;1041:36:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;3901:31:24;395:982:134;7270:387:24;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;395:982:134;;;;;;;;;1333:36:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;3901:31:24;395:982:134;7270:387:24;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;395:982:134;;;;;;;;;1479:40:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;395:982:134;;3901:31:24;395:982:134;7270:387:24;-1:-1:-1;395:982:134;;;-1:-1:-1;;;;;;;;;;;395:982:134;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;3901:31:24;395:982:134;7892:388:24;-1:-1:-1;395:982:134;;;-1:-1:-1;;;;;;;;;;;395:982:134;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;;;-1:-1:-1;395:982:134;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;-1:-1:-1;;395:982:134;;;966:10:29;;-1:-1:-1;;;;;395:982:134;;8155:40:24;-1:-1:-1;;8155:40:24;395:982:134;8209:11:24;:::o;395:982:134:-;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;1398:1:102;395:982:134;;;1398:1:102;395:982:134;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;2658:162:25:-;-1:-1:-1;;;;;;;;;;;395:982:134;-1:-1:-1;;;;;395:982:134;966:10:29;2717:23:25;2713:101;;2658:162::o;2713:101::-;395:982:134;;-1:-1:-1;;;2763:40:25;;966:10:29;2763:40:25;;;395:982:134;;;2763:40:25;2323:83:52;1019:819;;;;;;;1615:14:129;;1019:819:52;;;;;;;;;;;;;;;;7084:141:27;395:982:134;-1:-1:-1;;;;;;;;;;;395:982:134;;;;7150:18:27;7146:73;;7084:141::o;7146:73::-;395:982:134;;-1:-1:-1;;;7191:17:27;;;;;395:982:134;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:134;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:60:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;395:982:134:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3010:4959:129;3139:37;3010:4959;3139:37;395:982:134;;;3139:37:129;;;;;;:::i;:::-;395:982:134;;;;-1:-1:-1;;;;;395:982:134;;;3191:31:129;3187:95;;3296:20;;;;;395:982:134;;;;;;;;;;;3296:25:129;3292:92;;3398:29;;;395:982:134;;3398:29:129;;395:982:134;3398:43:129;;-1:-1:-1;;;;;395:982:134;;-1:-1:-1;;;;;395:982:134;;;3398:43:129;;3394:971;;3010:4959;4380:23;;;395:982:134;4379:24:129;395:982:134;;;;;;;;4379:24:129;;395:982:134;4379:24:129;:67;;;3010:4959;4375:132;;4537:28;;;;4522:9;3191:17;4574:3;4537:28;;395:982:134;;4533:39:129;;;;;4597:31;;;:45;:31;;:::i;:::-;395:982:134;-1:-1:-1;;;;;395:982:134;;;4597:45:129;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;395:982:134;;;;;4725:22:129;395:982:134;;;;;;;4725:55:129;395:982:134;;;;;4725:55:129;4721:120;;4878:28;4855:62;:55;4878:31;;395:982:134;4878:28:129;;;:31;:::i;4855:55::-;395:982:134;;-1:-1:-1;;395:982:134;4913:4:129;395:982:134;;;;4855:62:129;395:982:134;4522:9:129;;4721:120;395:982:134;;-1:-1:-1;;;4807:19:129;;;;;4593:114;395:982:134;;-1:-1:-1;;;4669:23:129;;;;;4533:39;;;;;;;;;;4942:43;395:982:134;;;;;;;;;;;4942:43:129;;4938:1254;;4517:411;6305:34;;;395:982:134;6375:23:129;;;;395:982:134;;;;;;;;6430:19:129;;;395:982:134;6485:23:129;;;395:982:134;6554:33:129;;;395:982:134;6636:36:129;;;395:982:134;6717:32:129;;;395:982:134;6798:36:129;;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37:129;6237:612;;395:982:134;6237:612:129;;395:982:134;-1:-1:-1;;;;;395:982:134;4380:23:129;6237:612;;395:982:134;-1:-1:-1;;;;;395:982:134;6237:612:129;;;395:982:134;-1:-1:-1;;;;;395:982:134;6237:612:129;;;395:982:134;-1:-1:-1;;;;;395:982:134;6305:34:129;6237:612;;395:982:134;-1:-1:-1;;;;;395:982:134;6375:23:129;6237:612;;395:982:134;6237:612:129;;;:::i;:::-;395:982:134;;-1:-1:-1;;;;;395:982:134;3191:17:129;395:982:134;;-1:-1:-1;;;;;;395:982:134;;;;;;-1:-1:-1;;;;;395:982:134;;;;;;;3139:37:129;6920:13;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;-1:-1:-1;;;;;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;;;;;;819:34:79;837:15;819:34;:::i;:::-;4913:4:129;395:982:134;;-1:-1:-1;;;;395:982:134;;;;;;-1:-1:-1;;;395:982:134;;;;;;;;;;4913:4:129;395:982:134;;-1:-1:-1;;;;;395:982:134;;;;;;-1:-1:-1;;;;;;395:982:134;;;;;;;;;;7039:42:129;;395:982:134;;;3191:17:129;395:982:134;;;;;;;3191:17:129;395:982:134;;7039:42:129;6237:612;7109:21;;395:982:134;3191:17:129;395:982:134;;-1:-1:-1;;395:982:134;;;;;;;;;;;;;;6237:612:129;7155:19;;395:982:134;7140:34:129;1991:1:31;395:982:134;-1:-1:-1;;;;;395:982:134;;;7822:32:129;;395:982:134;;;7185:135:129;;4517:411;-1:-1:-1;7333:36:129;;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;7329:157:129;;4517:411;-1:-1:-1;7499:35:129;;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;7495:153:129;;4517:411;-1:-1:-1;7661:34:129;;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;7657:152:129;;4517:411;-1:-1:-1;7822:32:129;395:982:134;-1:-1:-1;;;;;395:982:134;;;;;;;7818:145:129;;3010:4959;:::o;7818:145::-;7884:68;;;:::i;7657:152::-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;395:982:134;;5005:23:129;;5052;;;395:982:134;5052:37:129;;-1:-1:-1;;;;;395:982:134;;;5052:37:129;:23;;5117:32;;;395:982:134;5117:46:129;;-1:-1:-1;;;;;395:982:134;;;5117:46:129;:32;;5195:36;;;395:982:134;5195:50:129;;-1:-1:-1;;;;;395:982:134;;;5195:50:129;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;395:982:134;-1:-1:-1;;;5312:27:129;;;;;5195:78;5249:19;;;;395:982:134;5249:24:129;5195:78;;5113:420;5398:36;;;395:982:134;5398:50:129;;-1:-1:-1;;;;;395:982:134;;;5398:50:129;5113:420;5394:139;395:982:134;-1:-1:-1;;;5483:27:129;;;;;5048:664;5561:32;;;395:982:134;5561:46:129;;-1:-1:-1;;;;;395:982:134;;;5561:46:129;;:74;;;5048:664;5557:155;5048:664;5557:155;395:982:134;-1:-1:-1;;;5666:27:129;;;;;5561:74;5611:19;;;;395:982:134;5611:24:129;5561:74;;5001:1181;5753:36;;;395:982:134;5753:50:129;;-1:-1:-1;;;;;395:982:134;;;5753:50:129;;:347;;;5001:1181;5732:450;4938:1254;5732:450;395:982:134;-1:-1:-1;;;6140:27:129;;;;;5753:347;-1:-1:-1;5853:23:129;;;395:982:134;5853:37:129;;-1:-1:-1;;;;;395:982:134;;;5853:37:129;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:129;;;395:982:134;6032:46:129;;-1:-1:-1;;;;;395:982:134;;;6032:46:129;;;5753:347;;5853:147;-1:-1:-1;5950:36:129;;;395:982:134;5950:50:129;;-1:-1:-1;;;;;395:982:134;;;5950:50:129;;;5853:147;;:65;5894:19;;;;395:982:134;5894:24:129;;5853:65;;4375:132;395:982:134;;-1:-1:-1;;;4469:27:129;;;;;4379:67;4407:28;;;;;395:982:134;4407:39:129;;4379:67;;3394:971;3461:36;;;395:982:134;3461:50:129;;-1:-1:-1;;;;;395:982:134;;;3461:50:129;;3457:419;;3394:971;3894:34;;;395:982:134;3894:48:129;;-1:-1:-1;;;;;395:982:134;;;3894:48:129;;3890:465;;3394:971;;;3890:465;3966:21;;;395:982:134;;3966:21:129;;4015:19;;;395:982:134;4015:24:129;:74;;;3962:379;4011:157;3394:971;4011:157;395:982:134;;-1:-1:-1;;;4124:21:129;;;;;4015:74;-1:-1:-1;4043:32:129;;;395:982:134;4043:46:129;;-1:-1:-1;;;;;395:982:134;;;4043:46:129;;4015:74;;3962:379;4196:19;;;395:982:134;4196:24:129;;;:74;;;3962:379;4192:149;3890:465;4192:149;395:982:134;;-1:-1:-1;;;4301:21:129;;;;;4196:74;-1:-1:-1;4224:32:129;;;395:982:134;4224:46:129;;-1:-1:-1;;;;;395:982:134;;;4224:46:129;;;4196:74;;3457:419;3535:23;;;395:982:134;;3535:23:129;;3586:35;;;395:982:134;3586:49:129;;-1:-1:-1;;;;;395:982:134;;;3586:49:129;3457:419;3582:132;395:982:134;;-1:-1:-1;;;3670:21:129;;;;;3531:331;3742:35;;;395:982:134;3742:49:129;;-1:-1:-1;;;;;395:982:134;;;3742:49:129;3738:124;3457:419;3738:124;395:982:134;;-1:-1:-1;;;3822:21:129;;;;;3292:92;395:982:134;;-1:-1:-1;;;3344:29:129;;;;;3187:95;395:982:134;;-1:-1:-1;;;3245:26:129;;;;;4421:582:60;;4593:8;;-1:-1:-1;395:982:134;;5674:21:60;:17;;5799:158;;;;;;5670:354;395:982:134;;-1:-1:-1;;;5994:19:60;;;;;4589:408;395:982:134;;4841:22:60;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;395:982:134;;-1:-1:-1;;;4917:24:60;;-1:-1:-1;;;;;395:982:134;;;4917:24:60;;;395:982:134;;;4917:24:60;4841:49;4867:18;;;:23;4841:49;;1642:1070:129;1783:1;395:982:134;;1746:38:129;1742:119;;1875:23;;;395:982:134;;-1:-1:-1;;;;;395:982:134;1875:23:129;;395:982:134;;1875:37:129;;:65;;1642:1070;1871:130;;395:982:134;2183:42:129;395:982:134;2552:36:129;395:982:134;2011:65:129;395:982:134;;;2011:65:129;1991:1:31;;2011:65:129;2087:42;395:982:134;2106:23:129;;;395:982:134;;;;;;2087:42:129;395:982:134;;-1:-1:-1;;;;395:982:134;;;;;;-1:-1:-1;;;395:982:134;;;;;;;;2087:42:129;2139:34;2154:19;;;395:982:134;2139:34:129;1991:1:31;;395:982:134;;;;;;;;;;2087:42:129;395:982:134;;;2087:42:129;395:982:134;;2183:42:129;2240:33;;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;2236:148:129;;1642:1070;-1:-1:-1;2397:32:129;;;395:982:134;-1:-1:-1;;;;;395:982:134;;;;2393:146:129;;-1:-1:-1;2552:36:129;395:982:134;-1:-1:-1;;;;;395:982:134;;;;;;;2548:158:129;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;395:982:134;;-1:-1:-1;;;1963:27:129;;;;;1875:65;1916:19;;;;395:982:134;1916:24:129;;1875:65;;1742:119;395:982:134;;-1:-1:-1;;;1807:43:129;;;;;14296:213:75;395:982:134;14374:24:75;;;;14370:103;;395:982:134;14296:213:75;:::o;14370:103::-;395:982:134;;;;14421:41:75;;;;;;14452:2;14421:41;;;395:982:134;;;;;14421:41:75", - "linkReferences": {}, - "immutableReferences": { - "69284": [ - { "start": 1382, "length": 32 }, - { "start": 1745, "length": 32 } - ], - "80579": [ - { "start": 4896, "length": 32 }, - { "start": 5382, "length": 32 }, - { "start": 6913, "length": 32 } - ] - } - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "DEPOSITOR_WHITELIST_ROLE()": "1b66c9e1", - "DEPOSIT_LIMIT_SET_ROLE()": "a21a1df9", - "DEPOSIT_WHITELIST_SET_ROLE()": "db388715", - "EPOCH_DURATION_SET_ROLE()": "61819dd8", - "FACTORY()": "2dd31000", - "FLASH_FEE_BASE()": "ecc98f05", - "FLASH_FEE_RATE_SET_ROLE()": "bc46f722", - "FLASH_FEE_RECEIVER_SET_ROLE()": "31d9736c", - "FLASH_LOAN_ENABLED_SET_ROLE()": "a66b3a73", - "IS_DEPOSIT_LIMIT_SET_ROLE()": "1415519b", - "MIN_EXIT_WINDOW()": "f151f6b5", - "RETURN_VALUE()": "653b04cd", - "_epochDuration()": "2fa27fae", - "_epochDurationInit()": "9f9962dd", - "_epochDurationInitIndex()": "9b4bae3e", - "_epochDurationSetEpochsDelay()": "bba6ff4a", - "_nextEpochDuration()": "c1bc6f51", - "_nextEpochDurationInit()": "cc52aee7", - "_nextEpochDurationSetEpochsDelay()": "c4db46fc", - "_nextEpochInitIndex()": "2749f9c4", - "_prevEpochDuration()": "5a36aa74", - "_prevEpochDurationInit()": "6e0f2455", - "_prevEpochDurationInitIndex()": "98ccba4a", - "burner()": "27810b6e", - "collateral()": "d8dfeb45", - "delegator()": "ce9b7930", - "depositLimit()": "ecf70858", - "depositWhitelist()": "48d3b775", - "flashFeeRate()": "e945da7f", - "flashFeeReceiver()": "a8b24f9a", - "flashLoanEnabled()": "65d61c6c", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "initialize(uint64,address,bytes)": "57ec83cc", - "isDelegatorInitialized()": "50861adc", - "isDepositLimit()": "a1b12202", - "isDepositorWhitelisted(address)": "794b15b7", - "isSlasherInitialized()": "6ec1e3f8", - "isWithdrawalsClaimed(uint256,address)": "a5d03223", - "migrate(uint64,bytes)": "2abe3048", - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "slasher()": "b1344271", - "staticDelegateCall(address,bytes)": "9f86fd85", - "supportsInterface(bytes4)": "01ffc9a7", - "transferOwnership(address)": "f2fde38b", - "version()": "54fd4d50", - "withdrawalShares(uint256)": "afba70ad", - "withdrawalSharesOf(uint256,address)": "a3b54172", - "withdrawals(uint256)": "5cc07076" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotes.sol\":\"VaultVotes\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5\",\"dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65\",\"dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd\",\"dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6\"]}},\"version\":1}", - "metadata": { - "compiler": { "version": "0.8.25+commit.b61c2a91" }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "vaultFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "type": "error", - "name": "AccessControlBadConfirmation" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { - "internalType": "bytes32", - "name": "neededRole", - "type": "bytes32" - } - ], - "type": "error", - "name": "AccessControlUnauthorizedAccount" - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" } - ], - "type": "error", - "name": "AddressEmptyCode" - }, - { "inputs": [], "type": "error", "name": "AlreadyInitialized" }, - { "inputs": [], "type": "error", "name": "AlreadySet" }, - { "inputs": [], "type": "error", "name": "FailedCall" }, - { "inputs": [], "type": "error", "name": "InvalidAccount" }, - { "inputs": [], "type": "error", "name": "InvalidCollateral" }, - { "inputs": [], "type": "error", "name": "InvalidData" }, - { "inputs": [], "type": "error", "name": "InvalidEpochDuration" }, - { - "inputs": [], - "type": "error", - "name": "InvalidEpochDurationSetEpochsDelay" - }, - { "inputs": [], "type": "error", "name": "InvalidFlashParams" }, - { "inputs": [], "type": "error", "name": "InvalidInitialization" }, - { "inputs": [], "type": "error", "name": "InvalidOrigin" }, - { "inputs": [], "type": "error", "name": "MissingRoles" }, - { "inputs": [], "type": "error", "name": "NoDepositWhitelist" }, - { "inputs": [], "type": "error", "name": "NotFactory" }, - { "inputs": [], "type": "error", "name": "NotInitialized" }, - { "inputs": [], "type": "error", "name": "NotInitializing" }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" } - ], - "type": "error", - "name": "OwnableInvalidOwner" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "type": "error", - "name": "OwnableUnauthorizedAccount" - }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { "internalType": "uint8", "name": "bits", "type": "uint8" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "type": "error", - "name": "SafeCastOverflowedUintDowncast" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "version", - "type": "uint64", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "previousOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32", - "indexed": true - } - ], - "type": "event", - "name": "RoleAdminChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleGranted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleRevoked", - "anonymous": false - }, - { "inputs": [], "stateMutability": "payable", "type": "fallback" }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FACTORY", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_BASE", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "MIN_EXIT_WINDOW", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "RETURN_VALUE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "burner", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "collateral", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "delegator", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositLimit", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositWhitelist", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeRate", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeReceiver", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashLoanEnabled", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoleAdmin", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "grantRole" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "hasRole", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "initialVersion", - "type": "uint64" - }, - { "internalType": "address", "name": "owner_", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDelegatorInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDepositLimit", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isDepositorWhitelisted", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isSlasherInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isWithdrawalsClaimed", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "newVersion", - "type": "uint64" - }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "migrate" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceOwnership" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { - "internalType": "address", - "name": "callerConfirmation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceRole" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revokeRole" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "slasher", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "staticDelegateCall" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "newOwner", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferOwnership" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "version", - "outputs": [ - { "internalType": "uint64", "name": "", "type": "uint64" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalShares", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalSharesOf", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawals", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "initialize(uint64,address,bytes)": { - "params": { - "data": "some data to use", - "initialVersion": "initial version of the entity", - "owner": "initial owner of the entity" - } - }, - "migrate(uint64,bytes)": { - "params": { - "data": "some data to use", - "newVersion": "new version of the entity" - } - }, - "owner()": { "details": "Returns the address of the current owner." }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "staticDelegateCall(address,bytes)": { - "details": "It allows to use this contract's storage on-chain.", - "params": { - "data": "data to make a delegatecall with", - "target": "address of the contract to make a delegatecall to" - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - }, - "version()": { - "details": "Starts from 1.", - "returns": { "_0": "version of the entity" } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "DEPOSITOR_WHITELIST_ROLE()": { - "notice": "Get a depositor whitelist status setter's role." - }, - "DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit setter's role." - }, - "DEPOSIT_WHITELIST_SET_ROLE()": { - "notice": "Get a deposit whitelist enabler/disabler's role." - }, - "EPOCH_DURATION_SET_ROLE()": { - "notice": "Get a epoch duration setter's role." - }, - "FACTORY()": { "notice": "Get the factory's address." }, - "FLASH_FEE_BASE()": { "notice": "Get a flash fee base." }, - "FLASH_FEE_RATE_SET_ROLE()": { - "notice": "Get a flash fee rate setter's role." - }, - "FLASH_FEE_RECEIVER_SET_ROLE()": { - "notice": "Get a flash fee receiver setter's role." - }, - "FLASH_LOAN_ENABLED_SET_ROLE()": { - "notice": "Get a flash loan enabled setter's role." - }, - "IS_DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit enabler/disabler's role." - }, - "MIN_EXIT_WINDOW()": { - "notice": "The minimum period of time that must be available to exit in case of epoch increase after migration." - }, - "RETURN_VALUE()": { - "notice": "Get a value that must be returned by the flash loan borrower." - }, - "_epochDuration()": { - "notice": "Get a duration of the epoch (internal)." - }, - "_epochDurationInit()": { - "notice": "Get a time point of the epoch duration set (internal)." - }, - "_epochDurationInitIndex()": { - "notice": "Get the current epoch duration's first epoch (internal)." - }, - "_epochDurationSetEpochsDelay()": { - "notice": "Get a delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochDuration()": { - "notice": "Get a duration of the next epoch (internal)." - }, - "_nextEpochDurationInit()": { - "notice": "Get a time point of the next epoch duration set (internal)." - }, - "_nextEpochDurationSetEpochsDelay()": { - "notice": "Get the next delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochInitIndex()": { - "notice": "Get a the next epoch duration's first epoch (internal)." - }, - "_prevEpochDuration()": { - "notice": "Get a duration of the previous epoch (internal)." - }, - "_prevEpochDurationInit()": { - "notice": "Get a time point of the previous epoch duration set (internal)." - }, - "_prevEpochDurationInitIndex()": { - "notice": "Get a the previous epoch duration's first epoch (internal)." - }, - "burner()": { - "notice": "Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)." - }, - "collateral()": { "notice": "Get a vault collateral." }, - "delegator()": { - "notice": "Get a delegator (it delegates the vault's stake to networks and operators)." - }, - "depositLimit()": { - "notice": "Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)." - }, - "depositWhitelist()": { - "notice": "Get if the deposit whitelist is enabled." - }, - "flashFeeRate()": { - "notice": "Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)." - }, - "flashFeeReceiver()": { "notice": "Get a flash fee receiver." }, - "flashLoanEnabled()": { - "notice": "Get if a flash loan mechanic is enabled." - }, - "initialize(uint64,address,bytes)": { - "notice": "Initialize this entity contract by using a given data and setting a particular version and owner." - }, - "isDelegatorInitialized()": { - "notice": "Get if the delegator is initialized." - }, - "isDepositLimit()": { "notice": "Get if the deposit limit is set." }, - "isDepositorWhitelisted(address)": { - "notice": "Get if a given account is whitelisted as a depositor." - }, - "isSlasherInitialized()": { - "notice": "Get if the slasher is initialized." - }, - "isWithdrawalsClaimed(uint256,address)": { - "notice": "Get if the withdrawals are claimed for a particular account at a given epoch." - }, - "migrate(uint64,bytes)": { - "notice": "Migrate this entity to a particular newer version using a given data." - }, - "slasher()": { - "notice": "Get a slasher (it provides networks a slashing mechanism)." - }, - "staticDelegateCall(address,bytes)": { - "notice": "Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)." - }, - "version()": { "notice": "Get the entity's version." }, - "withdrawalShares(uint256)": { - "notice": "Get a total number of withdrawal shares at a given epoch." - }, - "withdrawalSharesOf(uint256,address)": { - "notice": "Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)." - }, - "withdrawals(uint256)": { - "notice": "Get a total amount of the withdrawals at a given epoch." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { "enabled": true, "runs": 200 }, - "metadata": { "bytecodeHash": "ipfs" }, - "compilationTarget": { - "src/contracts/vault/v1.1/VaultVotes.sol": "VaultVotes" - }, - "evmVersion": "cancun", - "libraries": {}, - "viaIR": true - }, - "sources": { - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol": { - "keccak256": "0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225", - "urls": [ - "bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45", - "dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { - "keccak256": "0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a", - "urls": [ - "bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6", - "dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol": { - "keccak256": "0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b", - "urls": [ - "bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0", - "dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", - "urls": [ - "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", - "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol": { - "keccak256": "0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139", - "urls": [ - "bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2", - "dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", - "urls": [ - "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", - "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol": { - "keccak256": "0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4", - "urls": [ - "bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827", - "dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol": { - "keccak256": "0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866", - "urls": [ - "bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf", - "dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol": { - "keccak256": "0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5", - "urls": [ - "bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33", - "dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { - "keccak256": "0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab", - "urls": [ - "bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89", - "dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606", - "urls": [ - "bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1", - "dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol": { - "keccak256": "0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947", - "urls": [ - "bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856", - "dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol": { - "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7", - "urls": [ - "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b", - "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": { - "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724", - "urls": [ - "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a", - "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol": { - "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c", - "urls": [ - "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba", - "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol": { - "keccak256": "0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341", - "urls": [ - "bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce", - "dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol": { - "keccak256": "0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b", - "urls": [ - "bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e", - "dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol": { - "keccak256": "0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92", - "urls": [ - "bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a", - "dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol": { - "keccak256": "0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818", - "urls": [ - "bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a", - "dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol": { - "keccak256": "0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33", - "urls": [ - "bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb", - "dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol": { - "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b", - "urls": [ - "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b", - "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/Proxy.sol": { - "keccak256": "0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd", - "urls": [ - "bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac", - "dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", - "urls": [ - "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", - "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330", - "urls": [ - "bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf", - "dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310", - "urls": [ - "bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862", - "dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", - "urls": [ - "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", - "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Errors.sol": { - "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", - "urls": [ - "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", - "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Panic.sol": { - "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", - "urls": [ - "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", - "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed", - "urls": [ - "bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0", - "dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { - "keccak256": "0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84", - "urls": [ - "bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9", - "dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol": { - "keccak256": "0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575", - "urls": [ - "bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e", - "dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", - "urls": [ - "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", - "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", - "urls": [ - "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", - "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": { - "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", - "urls": [ - "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", - "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3", - "urls": [ - "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03", - "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol": { - "keccak256": "0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f", - "urls": [ - "bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44", - "dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/types/Time.sol": { - "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", - "urls": [ - "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", - "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" - ], - "license": "MIT" - }, - "src/contracts/common/MigratableEntity.sol": { - "keccak256": "0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7", - "urls": [ - "bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf", - "dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL" - ], - "license": "BUSL-1.1" - }, - "src/contracts/common/StaticDelegateCallable.sol": { - "keccak256": "0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90", - "urls": [ - "bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764", - "dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD" - ], - "license": "BUSL-1.1" - }, - "src/contracts/libraries/Checkpoints.sol": { - "keccak256": "0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c", - "urls": [ - "bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609", - "dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE" - ], - "license": "MIT" - }, - "src/contracts/vault/v1.1/Vault.sol": { - "keccak256": "0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f", - "urls": [ - "bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7", - "dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultStorage.sol": { - "keccak256": "0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7", - "urls": [ - "bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70", - "dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultTokenized.sol": { - "keccak256": "0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e", - "urls": [ - "bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1", - "dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultTokenizedImplementation.sol": { - "keccak256": "0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce", - "urls": [ - "bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1", - "dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultVotes.sol": { - "keccak256": "0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3", - "urls": [ - "bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5", - "dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo" - ], - "license": "MIT" - }, - "src/contracts/vault/v1.1/VaultVotesImplementation.sol": { - "keccak256": "0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a", - "urls": [ - "bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65", - "dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM" - ], - "license": "MIT" - }, - "src/interfaces/common/IMigratableEntity.sol": { - "keccak256": "0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4", - "urls": [ - "bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c", - "dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds" - ], - "license": "MIT" - }, - "src/interfaces/common/IStaticDelegateCallable.sol": { - "keccak256": "0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5", - "urls": [ - "bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516", - "dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVault.sol": { - "keccak256": "0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105", - "urls": [ - "bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd", - "dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultStorage.sol": { - "keccak256": "0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022", - "urls": [ - "bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882", - "dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultTokenized.sol": { - "keccak256": "0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0", - "urls": [ - "bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2", - "dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultVotes.sol": { - "keccak256": "0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3", - "urls": [ - "bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd", - "dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 134 -} +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034610123576128ee906001600160401b0390601f38849003908101601f19168201908382118383101761012757808391604096879485528339810103126101235761005760206100508361013b565b920161013b565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101125780808316036100ce575b50505060805260a0525161279e9081610150823960805181818161056601526106d1015260a051818181611320015281816115060152611b010152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101235756fe608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220475a3c4ed064c600a70b8126318dadde82730dd69e6feed556e0bb8b3879b6a264736f6c63430008190033","sourceMap":"395:982:111:-:0;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;395:982:111;;;;;;;;;7896:76:26;;395:982:111;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1444:31:106;;395:982:111;;;;;;;927:17:82;395:982:111;;;;;;;;;;1444:31:106;395:982:111;;;;;;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;395:982:111;;;;;;;;;;;;;8087:29:26;;395:982:111;;8087:29:26;7981:146;;;;;7896:76;395:982:111;;-1:-1:-1;;;7938:23:26;;;;;395:982:111;-1:-1:-1;395:982:111;;;;;;-1:-1:-1;395:982:111;;;;;-1:-1:-1;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611af7575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611af7576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206127298339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061274983398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612749833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e926114ac565b5f80516020612749833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612729833981519152602052610758600160405f20015461154e565b6119bd565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119f3565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206127498339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206127498339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612749833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612749833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611abf565b5f8051602061270983398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612709833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612729833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113e8565b91610ce5604051938492151560208401526040808401526060830190611417565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612729833981519152602052611015600160405f20015461154e565b6119f3565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611abf565b61143b565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611b33565b61121c611b33565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b0381166113ce575b5036916111d1565b8051602090820181810182848303126103c15782840151936001600160401b03948581116103c15760609101809303126103c15760409283519061129a82611135565b808401518681116103c157840183603f820112156103c157838187846112c39401519101611b61565b8252848401518681116103c15783826112de92870101611b97565b9381830194855260608101519687116103c1576113086113c694836113cb99611315940101611b97565b9286810193845251611e3f565b61139461138261138e7f000000000000000000000000000000000000000000000000000000000000000096519451946113548951968792878401611bb1565b0394611368601f1996878101835282611155565b8851630f7a015d60e31b8682015292839160248301611aab565b03858101835282611155565b85611bd6565b506113ba6113a0611a85565b9551958692630756082f60e11b9084015260248301611aab565b03908101845283611155565b611bd6565b50565b6113e2906113da611b33565b61111c611b33565b5f61124f565b3d15611412573d906113f9826111b6565b916114076040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611494575f8051602061270983398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916114c36004926001600160401b039236916111d1565b92160361153c575161152a576113cb610ce56115046114e0611a85565b604051928391630756082f60e11b6020840152602060248401526044830190611417565b7f0000000000000000000000000000000000000000000000000000000000000000611bd6565b604051635cb045db60e01b8152600490fd5b604051630a1824e360e01b8152600490fd5b5f8181525f805160206127298339815191526020908152604080832033845290915290205460ff161561157e5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206127298339815191529060ff16611647575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206127298339815191529060ff905b541661171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206127298339815191529060ff906116b8565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206127298339815191529060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b038716855290915290912060ff906116b8565b5f8181525f80516020612729833981519152602081815260408084206001600160a01b03871685529091529091205460ff161561171c575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b604051602081018181106001600160401b03821117611150576040525f8152905f368137565b906020611abc928181520190611417565b90565b5f80516020612709833981519152546001600160a01b03163303611adf57565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b2f573d5ff35b3d5ffd5b60ff5f805160206127498339815191525460401c1615611b4f57565b604051631afcd79f60e31b8152600490fd5b929192611b6d826111b6565b91611b7b6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611abc92602001611b61565b9091611bc8611abc93604084526040840190611417565b916020818403910152611417565b5f80611abc93602081519101845af4611bed6113e8565b9161253f565b5190611bfe82610700565b565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611c5485840187611155565b855283808601928201019283116103c1578301905b828210611c77575050505090565b8380918351611c8581610700565b815201910190611c69565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611cc2611176565b92611ccc83611bf3565b8452611cda60208401611bf3565b6020850152611ceb60408401611c00565b6040850152611cfc60608401611c13565b6060850152611d0d60808401611c13565b608085015260a083015160a085015260c083015160c0850152611d3260e08401611c13565b60e08501526101008084015190850152610120611d50818501611bf3565b90850152610140611d62818501611bf3565b90850152610160611d74818501611bf3565b90850152610180611d86818501611bf3565b908501526101a091828401519182116103c157611da4918401611c20565b908301526101c0611db6818301611bf3565b908301526101e0611dc8818301611bf3565b90830152610200611dda818301611bf3565b90830152610220611dec818301611bf3565b90830152610240611dfe818301611bf3565b90830152611e10610260809201611bf3565b9082015290565b8051821015611e2b5760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611e529060208082518301019101611c90565b805190916001600160a01b039182161561252d576040908184019065ffffffffffff611e84835165ffffffffffff1690565b161561251c5761014085018051909490611eae906001600160a01b03165b6001600160a01b031690565b156123e7575b6060860195611eca611ec68851151590565b1590565b806123d8575b6123c7576101a0810196955f5b88518051821015611f8e57611ea2611ef883611f0593611e17565b516001600160a01b031690565b15611f7d57611f3e611f37611f1e611ef8848d51611e17565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b611f6c5780611f66611f59611f1e611ef86001958e51611e17565b805460ff19166001179055565b01611edd565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093611faa611ea2855160018060a01b031690565b15612221575b60c08501519060e0860151611fc490151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b039081169791811696928116959381169416929161200b611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e0820152612067906125a2565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556120ce426126d6565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121389060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b03166121ce916101e091808516612211575b506101608101516001600160a01b0316848116612201575b506101808101516001600160a01b03168481166121f1575b506101c08101516001600160a01b03168481166121e1575b5001516001600160a01b031690565b9081166121d85750565b6113cb90611801565b6121ea90611792565b505f6121bf565b6121fa90611723565b505f6121a7565b61220a9061164d565b505f61218f565b61221a9061159c565b505f612177565b60e08501511561231757610120850151612243906001600160a01b0316611ea2565b6122d65761024085015161225f906001600160a01b0316611ea2565b6122aa5761026085015161227b906001600160a01b0316611ea2565b15158061229d575b61228d575b611fb0565b51630331eb0f60e41b8152600490fd5b5061010085015115612283565b6102608501516122c2906001600160a01b0316611ea2565b6122885751630331eb0f60e41b8152600490fd5b6102408501516122ee906001600160a01b0316611ea2565b158061230a575b156122885751630331eb0f60e41b8152600490fd5b50610100850151156122f5565b61022085015161232f906001600160a01b0316611ea2565b158061234b575b15611fb05751630331eb0f60e41b8152600490fd5b50610120850151612364906001600160a01b0316611ea2565b158015906123b9575b8015612399575b806123365750610240850151612392906001600160a01b0316611ea2565b1515612336565b506102608501516123b2906001600160a01b0316611ea2565b1515612374565b50610100850151151561236d565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611ed0565b6101608601516123ff906001600160a01b0316611ea2565b156124b7575b6101c086015161241d906001600160a01b0316611ea2565b15612428575b611eb4565b6080860151156124735760a08601511580612454575b15611eb457835163183c854560e21b8152600490fd5b506101e086015161246d906001600160a01b0316611ea2565b1561243e565b60a086015115801590612497575b1561242357835163183c854560e21b8152600490fd5b506101e08601516124b0906001600160a01b0316611ea2565b1515612481565b6060860151156124ee576101808601516124d9906001600160a01b0316611ea2565b61240557835163183c854560e21b8152600490fd5b610180860151612506906001600160a01b0316611ea2565b1561240557835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b90612566575080511561255457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612599575b612577575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561256f565b60038151106126c4576060810180516001600160a01b03929190831615806126b7575b6126a5578161263e61261c60e0936125e06126799651600f55565b61260f6125f06020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611ef86040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b0316848116612695575b5060c08101516001600160a01b031684811661268c575001516001600160a01b031690565b9081166126835750565b6113cb9061194e565b6121ea906118df565b61269e90611870565b505f612654565b604051630331eb0f60e41b8152600490fd5b50604082015115156125c5565b6040516317a509b960e31b8152600490fd5b65ffffffffffff908181116126e9571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220475a3c4ed064c600a70b8126318dadde82730dd69e6feed556e0bb8b3879b6a264736f6c63430008190033","sourceMap":"395:982:111:-:0;;;;;;2603:64:50;395:982:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;395:982:111;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;395:982:111;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;395:982:111;-1:-1:-1;395:982:111;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;757:38:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;612:37:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;;4919:24:23;395:982:111;-1:-1:-1;395:982:111;4919:24:23;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3788:34:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;395:982:111;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;395:982:111;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;;;;6431:44:26;;;;395:982:111;6427:105:26;;-1:-1:-1;;395:982:111;;;;;;;;;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;395:982:111;-1:-1:-1;;;395:982:111;;;6656:20:26;;;;395:982:111;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;395:982:111;6427:105:26;395:982:111;;-1:-1:-1;;;6498:23:26;;395:982:111;;6498:23:26;6431:44;395:982:111;;;;6450:25:26;;;6431:44;;1655:71:82;395:982:111;;-1:-1:-1;;;1703:12:82;;395:982:111;;1703:12:82;3666:88:30;395:982:111;;-1:-1:-1;;;3713:30:30;;395:982:111;;3713:30:30;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;655:32:82;-1:-1:-1;;;;;395:982:111;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;:::o;:::-;;;;;;-1:-1:-1;;395:982:111;;;;5350:25:23;395:982:111;;;;;;;:::i;:::-;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;3202:4:23;4919:24;395:982:111;-1:-1:-1;395:982:111;4919:24:23;395:982:111;3202:4:23;:::i;:::-;5350:25;:::i;395:982:111:-;;;;;;-1:-1:-1;;395:982:111;;;;;2129:28:108;395:982:111;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1479:40:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;395:982:111;;6441:34:23;6437:102;;6549:37;395:982:111;;;6549:37:23;:::i;6437:102::-;395:982:111;;-1:-1:-1;;;6498:30:23;;395:982:111;;6498:30:23;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;2293:34:108;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;-1:-1:-1;;;;;;;;;;;;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;395:982:111;;;;;;734:29:82;730:87;;395:982:111;;;;;6431:44:26;;;;;395:982:111;6427:105:26;;;6656:20;395:982:111;6656:20:26;395:982:111;1167:340:82;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;395:982:111;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;395:982:111;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;6656:20:26;;;;395:982:111;6427:105:26;395:982:111;;-1:-1:-1;;;6498:23:26;;395:982:111;;6498:23:26;6431:44;395:982:111;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;395:982:111;;-1:-1:-1;;;786:20:82;;395:982:111;;786:20:82;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;3667:32:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;-1:-1:-1;395:982:111;2756:59:108;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1041:36:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1714:45:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;4048:28:108;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3624:36:108;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;2461:32:108;395:982:111;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;;;395:982:111;;;;;;;-1:-1:-1;;;;;395:982:111;3975:40:24;395:982:111;;3975:40:24;395:982:111;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;395:982:111;2632:68:108;395:982:111;;;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3901:31:23;395:982:111;;;;;:::i;:::-;;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;3901:31:23;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3575:42:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3530:38:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;395:982:111;;;;;;;;;;477:31:86;;395:982:111;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;395:982:111;518:79:86;;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;;;2090:32:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;900:35:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;2991:94:108;395:982:111;;;;;:::i;:::-;;;-1:-1:-1;395:982:111;2991:94:108;395:982:111;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;2991:94:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3141:92:108;395:982:111;;;;;:::i;:::-;;;-1:-1:-1;395:982:111;3141:92:108;395:982:111;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1187:40:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;3961:31:108;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;-1:-1:-1;395:982:111;2871:64:108;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;2383:22:108;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3426:43:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1333:36:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3749:32:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3476:47:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;3706:36:108;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;2213:24:108;395:982:111;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;5767:26:23;395:982:111;;;;;;;:::i;:::-;;-1:-1:-1;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;3202:4:23;4919:24;395:982:111;-1:-1:-1;395:982:111;4919:24:23;395:982:111;3202:4:23;:::i;:::-;5767:26;:::i;395:982:111:-;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;466:39:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;3878:27:108;395:982:111;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1616:3:108;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;;;;;;-1:-1:-1;;395:982:111;;;;;;;1285:6:106;395:982:111;;;;;;;;;-1:-1:-1;;395:982:111;;;;2357:1:24;395:982:111;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;395:982:111:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:86;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;;;;6429:19:106;395:982:111;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;:::o;:::-;-1:-1:-1;;;;;395:982:111;;;;;;-1:-1:-1;;395:982:111;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;:::o;1167:340:82:-;;395:982:111;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;395:982:111;;1376:73:82;;1167:340;395:982:111;;;;:::i;:::-;;;740:55:109;;;;;;;395:982:111;;;;;;;740:55:109;;;395:982:111;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;807:73;395:982;;755:135;395:982;;;;;;:::i;:::-;;;;;;;;848:17:109;395:982:111;:::i;:::-;877:169:109;929:107;;1614:14:106;1007:11:109;;1020:13;;395:982:111;996:38:109;395:982:111;;996:38:109;;;;;;;:::i;:::-;;477:31:86;996:38:109;477:31:86;;996:38:109;;;;;;;;:::i;:::-;395:982:111;;-1:-1:-1;;;929:107:109;;;;395:982:111;;;929:107:109;;;;:::i;:::-;;;;;;;;;:::i;:::-;877:169;;:::i;:::-;;807:73:111;866:12;;:::i;:::-;395:982;;807:73;;;;;;;;;;929:107:109;807:73:111;;;:::i;:::-;;;;;;;;;:::i;:::-;755:135;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;395:982:111;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;395:982:111;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;;;-1:-1:-1;;395:982:111;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;395:982:111;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;395:982:111;;-1:-1:-1;;;;;;395:982:111;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;395:982:111;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;395:982:111;;;3534:31:24;1809:204:82;;395:982:111;1038:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;395:982:111;;;:::i;:::-;;;1024:15;1038:1;;395:982;1055:86;;1155:143;395:982;1211:73;1270:12;;:::i;:::-;395:982;;807:73;;;;;;1211;;;;;;;;395:982;;;;;;:::i;1211:73::-;1614:14:106;1155:143:111;:::i;1055:86::-;395:982;;-1:-1:-1;;;1101:25:111;;1038:1;;1101:25;1020:349;395:982;;-1:-1:-1;;;1336:22:111;;1038:1;;1336:22;4148:103:23;-1:-1:-1;395:982:111;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;966:10:28;395:982:111;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;395:982:111;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;395:982:111;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;395:982:111;;3190:17:106;395:982:111;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;;;3190:17:106;395:982:111;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;-1:-1:-1;;395:982:111;7509:4:23;395:982:111;;;966:10:28;;-1:-1:-1;;;;;395:982:111;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;3190:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;;;;-1:-1:-1;395:982:111;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;-1:-1:-1;;395:982:111;7509:4:23;395:982:111;;;966:10:28;;-1:-1:-1;;;;;395:982:111;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;1333:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;395:982:111;;;;;;;;;1479:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;395:982:111;;3901:31:23;395:982:111;7270:387:23;-1:-1:-1;395:982:111;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;3901:31:23;395:982:111;7892:388:23;-1:-1:-1;395:982:111;;;-1:-1:-1;;;;;;;;;;;395:982:111;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;-1:-1:-1;;395:982:111;;;966:10:28;;-1:-1:-1;;;;;395:982:111;;8155:40:23;-1:-1:-1;;8155:40:23;395:982:111;8209:11:23;:::o;395:982:111:-;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;1398:1:82;395:982:111;;;1398:1:82;395:982:111;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;2658:162:24:-;-1:-1:-1;;;;;;;;;;;395:982:111;-1:-1:-1;;;;;395:982:111;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;395:982:111;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;395:982:111;;;2763:40:24;2323:83:50;1019:819;;;;;;;1614:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;395:982:111;-1:-1:-1;;;;;;;;;;;395:982:111;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;395:982:111;;-1:-1:-1;;;7191:17:26;;;;;395:982:111;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;395:982:111;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;3900:253:56:-;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;395:982:111:-;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3009:4959:106;3138:37;3009:4959;3138:37;395:982:111;;;3138:37:106;;;;;;:::i;:::-;395:982:111;;;;-1:-1:-1;;;;;395:982:111;;;3190:31:106;3186:95;;3295:20;;;;;395:982:111;;;;;;;;;;;3295:25:106;3291:92;;3397:29;;;395:982:111;;3397:29:106;;395:982:111;3397:43:106;;-1:-1:-1;;;;;395:982:111;;-1:-1:-1;;;;;395:982:111;;;3397:43:106;;3393:971;;3009:4959;4379:23;;;395:982:111;4378:24:106;395:982:111;;;;;;;;4378:24:106;;395:982:111;4378:24:106;:67;;;3009:4959;4374:132;;4536:28;;;;4521:9;3190:17;4573:3;4536:28;;395:982:111;;4532:39:106;;;;;4596:31;;;:45;:31;;:::i;:::-;395:982:111;-1:-1:-1;;;;;395:982:111;;;4596:45:106;;4592:114;;4724:55;;4747:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;395:982:111;;;;;4724:22:106;395:982:111;;;;;;;4724:55:106;395:982:111;;;;;4724:55:106;4720:120;;4877:28;4854:62;:55;4877:31;;395:982:111;4877:28:106;;;:31;:::i;4854:55::-;395:982:111;;-1:-1:-1;;395:982:111;4912:4:106;395:982:111;;;;4854:62:106;395:982:111;4521:9:106;;4720:120;395:982:111;;-1:-1:-1;;;4806:19:106;;;;;4592:114;395:982:111;;-1:-1:-1;;;4668:23:106;;;;;4532:39;;;;;;;;;;4941:43;395:982:111;;;;;;;;;;;4941:43:106;;4937:1254;;4516:411;6304:34;;;395:982:111;6374:23:106;;;;395:982:111;;;;;;;;6429:19:106;;;395:982:111;6484:23:106;;;395:982:111;6553:33:106;;;395:982:111;6635:36:106;;;395:982:111;6716:32:106;;;395:982:111;6797:36:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3138:37:106;6236:612;;395:982:111;6236:612:106;;395:982:111;-1:-1:-1;;;;;395:982:111;4379:23:106;6236:612;;395:982:111;-1:-1:-1;;;;;395:982:111;6236:612:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;6236:612:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;6304:34:106;6236:612;;395:982:111;-1:-1:-1;;;;;395:982:111;6374:23:106;6236:612;;395:982:111;6236:612:106;;;:::i;:::-;395:982:111;;-1:-1:-1;;;;;395:982:111;3190:17:106;395:982:111;;-1:-1:-1;;;;;;395:982:111;;;;;;-1:-1:-1;;;;;395:982:111;;;;;;;3138:37:106;6919:13;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;-1:-1:-1;;;;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;4912:4:106;395:982:111;;-1:-1:-1;;;;395:982:111;;;;;;-1:-1:-1;;;395:982:111;;;;;;;;;;4912:4:106;395:982:111;;-1:-1:-1;;;;;395:982:111;;;;;;-1:-1:-1;;;;;;395:982:111;;;;;;;;;;7038:42:106;;395:982:111;;;3190:17:106;395:982:111;;;;;;;3190:17:106;395:982:111;;7038:42:106;6236:612;7108:21;;395:982:111;3190:17:106;395:982:111;;-1:-1:-1;;395:982:111;;;;;;;;;;;;;;6236:612:106;7154:19;;395:982:111;7139:34:106;1991:1:30;395:982:111;-1:-1:-1;;;;;395:982:111;;;7821:32:106;;395:982:111;;;7184:135:106;;4516:411;-1:-1:-1;7332:36:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;7328:157:106;;4516:411;-1:-1:-1;7498:35:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;7494:153:106;;4516:411;-1:-1:-1;7660:34:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;7656:152:106;;4516:411;-1:-1:-1;7821:32:106;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;7817:145:106;;3009:4959;:::o;7817:145::-;7883:68;;;:::i;7656:152::-;7724:73;;;:::i;:::-;;7656:152;;;7494:153;7563:73;;;:::i;:::-;;7494:153;;;7328:157;7398:76;;;:::i;:::-;;7328:157;;;7184:135;7247:61;;;:::i;:::-;;7184:135;;;4937:1254;5004:23;;;395:982:111;;5004:23:106;;5051;;;395:982:111;5051:37:106;;-1:-1:-1;;;;;395:982:111;;;5051:37:106;:23;;5116:32;;;395:982:111;5116:46:106;;-1:-1:-1;;;;;395:982:111;;;5116:46:106;:32;;5194:36;;;395:982:111;5194:50:106;;-1:-1:-1;;;;;395:982:111;;;5194:50:106;;;:78;;;5112:420;5190:175;;5112:420;4937:1254;;5190:175;395:982:111;-1:-1:-1;;;5311:27:106;;;;;5194:78;5248:19;;;;395:982:111;5248:24:106;5194:78;;5112:420;5397:36;;;395:982:111;5397:50:106;;-1:-1:-1;;;;;395:982:111;;;5397:50:106;5112:420;5393:139;395:982:111;-1:-1:-1;;;5482:27:106;;;;;5047:664;5560:32;;;395:982:111;5560:46:106;;-1:-1:-1;;;;;395:982:111;;;5560:46:106;;:74;;;5047:664;5556:155;5047:664;5556:155;395:982:111;-1:-1:-1;;;5665:27:106;;;;;5560:74;5610:19;;;;395:982:111;5610:24:106;5560:74;;5000:1181;5752:36;;;395:982:111;5752:50:106;;-1:-1:-1;;;;;395:982:111;;;5752:50:106;;:347;;;5000:1181;5731:450;4937:1254;5731:450;395:982:111;-1:-1:-1;;;6139:27:106;;;;;5752:347;-1:-1:-1;5852:23:106;;;395:982:111;5852:37:106;;-1:-1:-1;;;;;395:982:111;;;5852:37:106;;;;:65;;;5752:347;5852:147;;;;5752:347;5852:225;5752:347;5852:225;-1:-1:-1;6031:32:106;;;395:982:111;6031:46:106;;-1:-1:-1;;;;;395:982:111;;;6031:46:106;;;5752:347;;5852:147;-1:-1:-1;5949:36:106;;;395:982:111;5949:50:106;;-1:-1:-1;;;;;395:982:111;;;5949:50:106;;;5852:147;;:65;5893:19;;;;395:982:111;5893:24:106;;5852:65;;4374:132;395:982:111;;-1:-1:-1;;;4468:27:106;;;;;4378:67;4406:28;;;;;395:982:111;4406:39:106;;4378:67;;3393:971;3460:36;;;395:982:111;3460:50:106;;-1:-1:-1;;;;;395:982:111;;;3460:50:106;;3456:419;;3393:971;3893:34;;;395:982:111;3893:48:106;;-1:-1:-1;;;;;395:982:111;;;3893:48:106;;3889:465;;3393:971;;;3889:465;3965:21;;;395:982:111;;3965:21:106;;4014:19;;;395:982:111;4014:24:106;:74;;;3961:379;4010:157;3393:971;4010:157;395:982:111;;-1:-1:-1;;;4123:21:106;;;;;4014:74;-1:-1:-1;4042:32:106;;;395:982:111;4042:46:106;;-1:-1:-1;;;;;395:982:111;;;4042:46:106;;4014:74;;3961:379;4195:19;;;395:982:111;4195:24:106;;;:74;;;3961:379;4191:149;3889:465;4191:149;395:982:111;;-1:-1:-1;;;4300:21:106;;;;;4195:74;-1:-1:-1;4223:32:106;;;395:982:111;4223:46:106;;-1:-1:-1;;;;;395:982:111;;;4223:46:106;;;4195:74;;3456:419;3534:23;;;395:982:111;;3534:23:106;;3585:35;;;395:982:111;3585:49:106;;-1:-1:-1;;;;;395:982:111;;;3585:49:106;3456:419;3581:132;395:982:111;;-1:-1:-1;;;3669:21:106;;;;;3530:331;3741:35;;;395:982:111;3741:49:106;;-1:-1:-1;;;;;395:982:111;;;3741:49:106;3737:124;3456:419;3737:124;395:982:111;;-1:-1:-1;;;3821:21:106;;;;;3291:92;395:982:111;;-1:-1:-1;;;3343:29:106;;;;;3186:95;395:982:111;;-1:-1:-1;;;3244:26:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;395:982:111;;5674:21:56;:17;;5799:158;;;;;;5670:354;395:982:111;;-1:-1:-1;;;5994:19:56;;;;;4589:408;395:982:111;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;395:982:111;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;395:982:111;;;4917:24:56;;;395:982:111;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;1641:1070:106;1782:1;395:982:111;;1745:38:106;1741:119;;1874:23;;;395:982:111;;-1:-1:-1;;;;;395:982:111;1874:23:106;;395:982:111;;1874:37:106;;:65;;1641:1070;1870:130;;395:982:111;2182:42:106;395:982:111;2551:36:106;395:982:111;2010:65:106;395:982:111;;;2010:65:106;1991:1:30;;2010:65:106;2086:42;395:982:111;2105:23:106;;;395:982:111;;;;;;2086:42:106;395:982:111;;-1:-1:-1;;;;395:982:111;;;;;;-1:-1:-1;;;395:982:111;;;;;;;;2086:42:106;2138:34;2153:19;;;395:982:111;2138:34:106;1991:1:30;;395:982:111;;;;;;;;;;2086:42:106;395:982:111;;;2086:42:106;395:982:111;;2182:42:106;2239:33;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;2235:148:106;;1641:1070;-1:-1:-1;2396:32:106;;;395:982:111;-1:-1:-1;;;;;395:982:111;;;;2392:146:106;;-1:-1:-1;2551:36:106;395:982:111;-1:-1:-1;;;;;395:982:111;;;;;;;2547:158:106;;1641:1070;:::o;2547:158::-;2617:77;;;:::i;2392:146::-;2458:69;;;:::i;2235:148::-;2302:70;;;:::i;:::-;;2235:148;;;1870:130;395:982:111;;-1:-1:-1;;;1962:27:106;;;;;1874:65;1915:19;;;;395:982:111;1915:24:106;;1874:65;;1741:119;395:982:111;;-1:-1:-1;;;1806:43:106;;;;;14296:213:69;395:982:111;14374:24:69;;;;14370:103;;395:982:111;14296:213:69;:::o;14370:103::-;395:982:111;;;;14421:41:69;;;;;;14452:2;14421:41;;;395:982:111;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4896,"length":32},{"start":5382,"length":32},{"start":6913,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotes.sol\":\"VaultVotes\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x32cbef4fc9968aecab9ae35c4a809f4a4fa1a1778d4a1d3cb6cc1bcaa0663500\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://112452cbe72fb8d08e3fd19d4eb26a8ccdc42fc3490b1ddaa32e30612f85a342\",\"dweb:/ipfs/QmcBEfrc94VBzf3L3GNHVxmVvFcy4FVm5N67JJgTYnkADx\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6\",\"dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/contracts/vault/v1.1/VaultVotes.sol\":{\"keccak256\":\"0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5\",\"dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65\",\"dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d\",\"dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd\",\"dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultVotes.sol":"VaultVotes"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol":{"keccak256":"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b","urls":["bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0","dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol":{"keccak256":"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4","urls":["bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827","dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol":{"keccak256":"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5","urls":["bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33","dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x32cbef4fc9968aecab9ae35c4a809f4a4fa1a1778d4a1d3cb6cc1bcaa0663500","urls":["bzz-raw://112452cbe72fb8d08e3fd19d4eb26a8ccdc42fc3490b1ddaa32e30612f85a342","dweb:/ipfs/QmcBEfrc94VBzf3L3GNHVxmVvFcy4FVm5N67JJgTYnkADx"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7","urls":["bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6","dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e","urls":["bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1","dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotes.sol":{"keccak256":"0xd92d997fb4c65fa00cc6cf7a82d39682ff1ab071f23c6fd5b348572f22a9b8a3","urls":["bzz-raw://234dd1cec49ce1d79fc2fc6ca3ac7304cc4c9c8f83074532efdc6f543da936a5","dweb:/ipfs/QmfQC3LnsqzzHpvUgymheHTqVkqtGmCw1Fqq8g4PGD2vVo"],"license":"MIT"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a","urls":["bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65","dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM"],"license":"MIT"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b","urls":["bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d","dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3","urls":["bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd","dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6"],"license":"MIT"}},"version":1},"id":111} \ No newline at end of file diff --git a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json index 2dc99b8..53d7a80 100644 --- a/out/VaultVotesImplementation.sol/VaultVotesImplementation.json +++ b/out/VaultVotesImplementation.sol/VaultVotesImplementation.json @@ -1,2317 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "baseImplementation", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { "type": "fallback", "stateMutability": "payable" }, - { - "type": "function", - "name": "CLOCK_MODE", - "inputs": [], - "outputs": [{ "name": "", "type": "string", "internalType": "string" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_BASE", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RETURN_VALUE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_VaultTokenized_init", - "inputs": [{ "name": "data", "type": "bytes", "internalType": "bytes" }], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_VaultVotes_init", - "inputs": [{ "name": "", "type": "bytes", "internalType": "bytes" }], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "_epochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "allowance", - "inputs": [ - { "name": "owner", "type": "address", "internalType": "address" }, - { "name": "spender", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "approve", - "inputs": [ - { "name": "spender", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "balanceOf", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burner", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "clock", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collateral", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "decimals", - "inputs": [], - "outputs": [{ "name": "", "type": "uint8", "internalType": "uint8" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "delegate", - "inputs": [ - { "name": "delegatee", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "delegateBySig", - "inputs": [ - { "name": "delegatee", "type": "address", "internalType": "address" }, - { "name": "nonce", "type": "uint256", "internalType": "uint256" }, - { "name": "expiry", "type": "uint256", "internalType": "uint256" }, - { "name": "v", "type": "uint8", "internalType": "uint8" }, - { "name": "r", "type": "bytes32", "internalType": "bytes32" }, - { "name": "s", "type": "bytes32", "internalType": "bytes32" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "delegates", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "delegator", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "deposit", - "inputs": [ - { "name": "onBehalfOf", "type": "address", "internalType": "address" }, - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "depositedAmount", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "depositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositWhitelist", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "eip712Domain", - "inputs": [], - "outputs": [ - { "name": "fields", "type": "bytes1", "internalType": "bytes1" }, - { "name": "name", "type": "string", "internalType": "string" }, - { "name": "version", "type": "string", "internalType": "string" }, - { "name": "chainId", "type": "uint256", "internalType": "uint256" }, - { - "name": "verifyingContract", - "type": "address", - "internalType": "address" - }, - { "name": "salt", "type": "bytes32", "internalType": "bytes32" }, - { - "name": "extensions", - "type": "uint256[]", - "internalType": "uint256[]" - } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeRate", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeReceiver", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoanEnabled", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPastTotalSupply", - "inputs": [ - { "name": "timepoint", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getPastVotes", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "timepoint", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getVotes", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDelegatorInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositorWhitelisted", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isSlasherInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isWithdrawalsClaimed", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "name", - "inputs": [], - "outputs": [{ "name": "", "type": "string", "internalType": "string" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "nonces", - "inputs": [ - { "name": "owner", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "redeem", - "inputs": [ - { "name": "claimer", "type": "address", "internalType": "address" }, - { "name": "shares", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "withdrawnAssets", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "slasher", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "staticDelegateCall", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "symbol", - "inputs": [], - "outputs": [{ "name": "", "type": "string", "internalType": "string" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "totalSupply", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transfer", - "inputs": [ - { "name": "to", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "transferFrom", - "inputs": [ - { "name": "from", "type": "address", "internalType": "address" }, - { "name": "to", "type": "address", "internalType": "address" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdraw", - "inputs": [ - { "name": "claimer", "type": "address", "internalType": "address" }, - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { - "name": "burnedShares", - "type": "uint256", - "internalType": "uint256" - }, - { "name": "mintedShares", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "withdrawalShares", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalSharesOf", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawals", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Approval", - "inputs": [ - { - "name": "owner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "spender", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DelegateChanged", - "inputs": [ - { - "name": "delegator", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "fromDelegate", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "toDelegate", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "DelegateVotesChanged", - "inputs": [ - { - "name": "delegate", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "previousVotes", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - }, - { - "name": "newVotes", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "EIP712DomainChanged", - "inputs": [], - "anonymous": false - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "Transfer", - "inputs": [ - { - "name": "from", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "to", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "value", - "type": "uint256", - "indexed": false, - "internalType": "uint256" - } - ], - "anonymous": false - }, - { - "type": "error", - "name": "AddressEmptyCode", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" } - ] - }, - { "type": "error", "name": "CheckpointUnorderedInsertion", "inputs": [] }, - { "type": "error", "name": "ECDSAInvalidSignature", "inputs": [] }, - { - "type": "error", - "name": "ECDSAInvalidSignatureLength", - "inputs": [ - { "name": "length", "type": "uint256", "internalType": "uint256" } - ] - }, - { - "type": "error", - "name": "ECDSAInvalidSignatureS", - "inputs": [{ "name": "s", "type": "bytes32", "internalType": "bytes32" }] - }, - { - "type": "error", - "name": "ERC20InsufficientAllowance", - "inputs": [ - { "name": "spender", "type": "address", "internalType": "address" }, - { "name": "allowance", "type": "uint256", "internalType": "uint256" }, - { "name": "needed", "type": "uint256", "internalType": "uint256" } - ] - }, - { - "type": "error", - "name": "ERC20InsufficientBalance", - "inputs": [ - { "name": "sender", "type": "address", "internalType": "address" }, - { "name": "balance", "type": "uint256", "internalType": "uint256" }, - { "name": "needed", "type": "uint256", "internalType": "uint256" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidApprover", - "inputs": [ - { "name": "approver", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidReceiver", - "inputs": [ - { "name": "receiver", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSender", - "inputs": [ - { "name": "sender", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "ERC20InvalidSpender", - "inputs": [ - { "name": "spender", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "ERC5805FutureLookup", - "inputs": [ - { "name": "timepoint", "type": "uint256", "internalType": "uint256" }, - { "name": "clock", "type": "uint48", "internalType": "uint48" } - ] - }, - { "type": "error", "name": "ERC6372InconsistentClock", "inputs": [] }, - { "type": "error", "name": "FailedCall", "inputs": [] }, - { - "type": "error", - "name": "InvalidAccountNonce", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "currentNonce", "type": "uint256", "internalType": "uint256" } - ] - }, - { "type": "error", "name": "InvalidData", "inputs": [] }, - { "type": "error", "name": "InvalidInitialization", "inputs": [] }, - { "type": "error", "name": "NotInitializing", "inputs": [] }, - { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, - { - "type": "error", - "name": "SafeCastOverflowedUintDowncast", - "inputs": [ - { "name": "bits", "type": "uint8", "internalType": "uint8" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ] - }, - { "type": "error", "name": "SafeSupplyExceeded", "inputs": [] }, - { - "type": "error", - "name": "VotesExpiredSignature", - "inputs": [ - { "name": "expiry", "type": "uint256", "internalType": "uint256" } - ] - } - ], - "bytecode": { - "object": "0x60a034606d57601f6132a038819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161321a9081610086823960805181818161093801526124ed0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436106124e3575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124e357611a95565b611a78565b611a5a565b611a3d565b611a0e565b6119d4565b6119a9565b611981565b611959565b61193c565b61186f565b61183c565b611802565b6117e5565b6117bd565b611793565b611762565b61173a565b611700565b6116b2565b611669565b61162f565b61160b565b6115e3565b611561565b611544565b611508565b6114eb565b611439565b61140e565b61136c565b61129c565b6111bf565b611064565b611027565b610f80565b610f5b565b610f36565b610f11565b610ed7565b610e9d565b610e73565b610e51565b610e29565b610de4565b610dbf565b610d71565b610d50565b610ca5565b610b83565b610b49565b610ab2565b610a92565b610a6a565b610a4d565b61099f565b6108d0565b610896565b610874565b61083a565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061314583398151915280549061046682611b13565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b95565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fb7565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b505060405161068d81611b5f565b600a8152602090695661756c74566f74657360b01b6020820152604051906106b482611b5f565b60019260018352603160f81b60208401526106cd61251f565b6106d561251f565b8151906001600160401b038211610835575f8051602061316583398151915292610708836107038654611b13565b612560565b602091601f84116001146107a15750610744955061073d92915f9183610796575b50508160011b915f199060031b1c19161790565b9055612744565b61076c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b6107945f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610729565b5f805160206131658339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b83831061081e57505050958392916001946107449810610806575b505050811b019055612744565b01515f1960f88460031b161c191690555f80806107f9565b848a015186559881019894850194918101916107de565b611b4b565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f36600319011261052857602061088e611e68565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098e61093661096b61095c6108f561052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b95565b7f0000000000000000000000000000000000000000000000000000000000000000612919565b60208082518301019101611f28565b9290915f6040518281525f805160206131c583398151915260203392a333611f3e565b604080519182526020820192909252f35b34610528576060366003190112610528576109b861052c565b6109c0610542565b604435906109d13361059985610fb7565b5492600184016109f2575b6109e6935061202a565b60405160018152602090f35b828410610a27576001600160a01b038116156105fe5733156105e657826109e69403610a213361059984610fb7565b556109dc565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b44575f90610b07575b60405160ff919091168152602090f35b506020813d602011610b3c575b81610b2160209383611b95565b810103126105285761049f9051610b3781611864565b610af7565b3d9150610b14565b611d5f565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9c61052c565b60243590610ba942612178565b9065ffffffffffff91828116841015610c7c5750610bc9610bcf91610fef565b92612178565b8254905f908260058111610c2e575b50610bea935084612bb3565b9081610c1157505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1d61049f926121be565b905f5260205f20015460301c610bf7565b9092610c3982612a88565b8203918211610c7757610bea94865f52808360205f20015416908516105f14610c655750915b5f610bde565b929150610c71906121cc565b90610c5f565b6121aa565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cbe61052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cfc9061095c906109368160648101610928565b916040518381525f5f805160206131c5833981519152602060018060a01b03851693a36001600160d01b03610d2f611e68565b11610d3e578261098e91611f97565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d9081611b5f565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610e0861052c565b165f525f80516020613125833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b3461052857602036600319011261052857610794610e6d61052c565b3361230c565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610fa161052c565b165f52600e602052602061088e60405f20611ef4565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361104861052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761107236610643565b8101604082820312610528576001600160401b03918035838111610528578261109c918301611d6a565b906020926020820135858111610528576110b69201611d6a565b916110bf61251f565b6110c761251f565b8151938411610835575f80516020613145833981519152916110f2856110ed8554611b13565b6125d9565b602091601f861160011461112c5750938061112592610794965f926107965750508160011b915f199060031b1c19161790565b905561283d565b5f805160206131458339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a757505091600193918761079498941061118f575b505050811b01905561283d565b01515f1960f88460031b161c191690555f8080611182565b80600186978294978701518155019601940190611168565b34610528576020366003190112610528576001600160a01b036111e061052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124a90949194600f60f81b845261123c60209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611288575050505090565b83518552938101939281019260010161127a565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611343575b15611306576112e2611bb6565b6112ea611c8b565b9061049f6112f6611db0565b6040519384933091469186611216565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d5565b346105285760203660031901126105285760043561138942612178565b65ffffffffffff81168210156113e7576113aa6113a583612178565b6121da565b6001600160d01b038116156113dd576113c561049f91611e19565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113cd565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142942612178565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f8051602061318583398151915280549061146782611b13565b808552916020916001918281169081156104fb57506001146114935761049f8661049381880382611b95565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d8575050505081016020016104938261049f5f610483565b80548686018401529382019381016114bb565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153b61153661153161052c565b610fef565b61239e565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157a61052c565b6024356001600160401b038111610528575f9161159c83923690600401610616565b90816040519283928337810184815203915af46115db6115ba611dd6565b91610928604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a9611687610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f46116d2610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178861177e61052c565b602435903361202a565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188861052c565b6044359060243560643561189b81611864565b834211611923576119176107949461191e926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118ff82611b7a565b61191260a43593608435935190206123c6565b612455565b918261246d565b61230c565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a9611a2c61052c565b610599611a37610542565b91610fb7565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aee61095c610928610936611aba61052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f805160206131c583398151915260203392a361098e8133611f3e565b90600182811c92168015611b41575b6020831014611b2d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b22565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761083557604052565b60a081019081106001600160401b0382111761083557604052565b90601f801991011681019081106001600160401b0382111761083557604052565b604051905f825f8051602061316583398151915291825492611bd784611b13565b80845293602091600191828116908115611c655750600114611c05575b505050611c0392500383611b95565b565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611c4d5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611c31565b9250505060209250611c0394915060ff191682840152151560051b8201015f8080611bf4565b604051905f825f805160206131a583398151915291825492611cac84611b13565b80845293602091600191828116908115611c655750600114611cd757505050611c0392500383611b95565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611d1f5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611d03565b60405190611c0382611b5f565b6001600160401b03811161083557601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d8182611d44565b92611d8f6040519485611b95565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b03821117610835576040525f8152905f368137565b3d15611e00573d90611de782611d44565b91611df56040519384611b95565b82523d5f602084013e565b606090565b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e05565b8054821015611e4e575f5260205f2001905f90565b600a5480611ebb57505f5b6001600160d01b03811615611eb657600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c7757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e73565b611efd8161239e565b6001600160d01b03811615611f22576001611f189201611e53565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061312583398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0393929081169116612936565b5f805160206131258339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0393929081169116612936565b6001600160a01b039081165f9081525f805160206131258339815191526020526040808220549383168252902054611c0393929082169116612936565b6001600160a01b03808216949392919085156121605782168015612148576001600160a01b0382165f908152600e6020526040902061206d90611ef4565b611ef4565b95848710612119576120aa611c0396976120978560018060a01b03165f52600e60205260405f2090565b90876120a242612178565b910391612e42565b50506001600160a01b0384165f908152600e602052604090206120f9906120d042612178565b6001600160a01b0387165f908152600e6020526040902088906120f290611ef4565b0191612e42565b50506040518581525f805160206131c583398151915290602090a3611fed565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161218b571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c7757565b9060018201809211610c7757565b600a8054915f9280600581116122a5575b5092905b838210612239575050508061220357505f90565b61220c906121be565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122935750925b91906121ef565b93925061229f906121cc565b9161228c565b906122af82612a88565b8203918211610c7757600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122fb57505b5f6121eb565b9350612306906121cc565b926122f5565b611c039161239861206860018060a01b0393848116805f525f8051602061312583398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612936565b8054806123ab5750505f90565b5f19918183810111610c77575f5260205f2001015460301c90565b6123ce612f04565b6123d6612f6e565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b038411176108355760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161246493612c12565b90929192612cb2565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124b8575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561251b573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561254e57565b604051631afcd79f60e31b8152600490fd5b601f811161256c575050565b5f805160206131658339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106125cf575b601f0160051c01905b8181106125c4575050565b5f81556001016125b9565b90915081906125b0565b601f81116125e5575050565b5f805160206131458339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612648575b601f0160051c01905b81811061263d575050565b5f8155600101612632565b9091508190612629565b601f811161265e575050565b5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c830193106126c1575b601f0160051c01905b8181106126b6575050565b5f81556001016126ab565b90915081906126a2565b601f81116126d7575050565b5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061273a575b601f0160051c01905b81811061272f575050565b5f8155600101612724565b909150819061271b565b9081516001600160401b038111610835575f805160206131a583398151915290612777816127728454611b13565b612652565b602080601f83116001146127ac575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b9055565b90601f198316956127ea5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b8882106128255750508360019596971061280d575b505050811b019055565b01515f1960f88460031b161c191690555f8080612803565b806001859682949686015181550195019301906127ee565b9081516001600160401b038111610835575f80516020613185833981519152906128708161286b8454611b13565b6126cb565b602080601f83116001146128a1575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b90601f198316956128df5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106129015750508360019596971061280d57505050811b019055565b806001859682949686015181550195019301906128e3565b5f8061043593602081519101845af4612930611dd6565b91612d3f565b6001600160a01b03808316939291908116908185141580612a61575b61295e575b5050505050565b816129d3575b505082612973575b8080612957565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724916129aa6129a46129b093610fef565b91612da2565b90612dd5565b604080516001600160d01b039384168152919092166020820152a25f808061296c565b6129dc90610fef565b6129e584612da2565b6129ee42612178565b6001600160d01b03918280612a028661239e565b169116900392828411610c77577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a5792612a3e9261300e565b6040805192851683529316602082015291829190820190565b0390a25f80612964565b50831515612952565b8115612a74570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612ba1575b612b49612b3f612b35612b2b612b21612b17612b5597600488600160401b612b509a1015612b94575b640100000000811015612b87575b62010000811015612b7a575b610100811015612b6e575b6010811015612b62575b1015612b5a575b60030260011c612b10818b612a6a565b0160011c90565b612b10818a612a6a565b612b108189612a6a565b612b108188612a6a565b612b108187612a6a565b612b108186612a6a565b8093612a6a565b821190565b900390565b60011b612b00565b811c9160021b91612af9565b60081c91811b91612aef565b60101c9160081b91612ae4565b60201c9160101b91612ad8565b60401c9160201b91612aca565b50600160401b9050608082901c612aa1565b91905b838210612bc35750505090565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff808360205f20015416908416105f14612c005750925b9190612bb6565b939250612c0c906121cc565b91612bf9565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c89579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b44575f516001600160a01b03811615612c7f57905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c9e57565b634e487b7160e01b5f52602160045260245ffd5b612cbb81612c94565b80612cc4575050565b612ccd81612c94565b60018103612ce75760405163f645eedf60e01b8152600490fd5b612cf081612c94565b60028103612d115760405163fce698f760e01b815260048101839052602490fd5b80612d1d600392612c94565b14612d255750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d665750805115612d5457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d99575b612d77575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d6f565b6001600160d01b0390818111612db6571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612ddf42612178565b6001600160d01b03918280612df38661239e565b16911601918211610c775761066d9261300e565b90815491600160401b8310156108355782612e2a916001611c0395018155611e53565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612ed4575b5084612e5f846130eb565b50949092845493612e6f83611ef4565b9681612ebf575b5015612e9c575050505f198101908111610c7757612e2a8591612e9893611e53565b9190565b612e98949293612eb8926001600160d01b03909116919061300e565b5050612e07565b65ffffffffffff83811691161490505f612e76565b600160401b81101561083557806001612ef09201845583611e53565b8154905f199060031b1b191690555f612e54565b612f0c611bb6565b8051908115612f1c576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f495790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612f76611c8b565b8051908115612f86576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f495790565b8054600160401b81101561083557612fd091600182018155611e53565b612ffb57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156130c157613025613030916121be565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116130af57879303613076575061306f92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506130aa91613096613088611d37565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612fb3565b61306f565b604051632520601d60e01b8152600490fd5b50906130e6916130d2613088611d37565b6001600160d01b0385166020830152612fb3565b5f9190565b8054806130fc5750505f905f905f90565b5f19918183810111610c77575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209815c6ca93df2634108dd81959912f92cf2981c6282cd0572568c02f1a5e84b464736f6c63430008190033", - "sourceMap": "983:2869:135:-:0;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;1324:40:133;;983:2869:135;;;;;;;;1324:40:133;983:2869:135;;;;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;-1:-1:-1;983:2869:135;;;;;-1:-1:-1;983:2869:135", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x6080604052600436106124e3575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124e357611a95565b611a78565b611a5a565b611a3d565b611a0e565b6119d4565b6119a9565b611981565b611959565b61193c565b61186f565b61183c565b611802565b6117e5565b6117bd565b611793565b611762565b61173a565b611700565b6116b2565b611669565b61162f565b61160b565b6115e3565b611561565b611544565b611508565b6114eb565b611439565b61140e565b61136c565b61129c565b6111bf565b611064565b611027565b610f80565b610f5b565b610f36565b610f11565b610ed7565b610e9d565b610e73565b610e51565b610e29565b610de4565b610dbf565b610d71565b610d50565b610ca5565b610b83565b610b49565b610ab2565b610a92565b610a6a565b610a4d565b61099f565b6108d0565b610896565b610874565b61083a565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061314583398151915280549061046682611b13565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b95565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fb7565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b505060405161068d81611b5f565b600a8152602090695661756c74566f74657360b01b6020820152604051906106b482611b5f565b60019260018352603160f81b60208401526106cd61251f565b6106d561251f565b8151906001600160401b038211610835575f8051602061316583398151915292610708836107038654611b13565b612560565b602091601f84116001146107a15750610744955061073d92915f9183610796575b50508160011b915f199060031b1c19161790565b9055612744565b61076c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b6107945f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610729565b5f805160206131658339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b83831061081e57505050958392916001946107449810610806575b505050811b019055612744565b01515f1960f88460031b161c191690555f80806107f9565b848a015186559881019894850194918101916107de565b611b4b565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f36600319011261052857602061088e611e68565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098e61093661096b61095c6108f561052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b95565b7f0000000000000000000000000000000000000000000000000000000000000000612919565b60208082518301019101611f28565b9290915f6040518281525f805160206131c583398151915260203392a333611f3e565b604080519182526020820192909252f35b34610528576060366003190112610528576109b861052c565b6109c0610542565b604435906109d13361059985610fb7565b5492600184016109f2575b6109e6935061202a565b60405160018152602090f35b828410610a27576001600160a01b038116156105fe5733156105e657826109e69403610a213361059984610fb7565b556109dc565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b44575f90610b07575b60405160ff919091168152602090f35b506020813d602011610b3c575b81610b2160209383611b95565b810103126105285761049f9051610b3781611864565b610af7565b3d9150610b14565b611d5f565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9c61052c565b60243590610ba942612178565b9065ffffffffffff91828116841015610c7c5750610bc9610bcf91610fef565b92612178565b8254905f908260058111610c2e575b50610bea935084612bb3565b9081610c1157505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1d61049f926121be565b905f5260205f20015460301c610bf7565b9092610c3982612a88565b8203918211610c7757610bea94865f52808360205f20015416908516105f14610c655750915b5f610bde565b929150610c71906121cc565b90610c5f565b6121aa565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cbe61052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cfc9061095c906109368160648101610928565b916040518381525f5f805160206131c5833981519152602060018060a01b03851693a36001600160d01b03610d2f611e68565b11610d3e578261098e91611f97565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d9081611b5f565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610e0861052c565b165f525f80516020613125833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b3461052857602036600319011261052857610794610e6d61052c565b3361230c565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610fa161052c565b165f52600e602052602061088e60405f20611ef4565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361104861052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761107236610643565b8101604082820312610528576001600160401b03918035838111610528578261109c918301611d6a565b906020926020820135858111610528576110b69201611d6a565b916110bf61251f565b6110c761251f565b8151938411610835575f80516020613145833981519152916110f2856110ed8554611b13565b6125d9565b602091601f861160011461112c5750938061112592610794965f926107965750508160011b915f199060031b1c19161790565b905561283d565b5f805160206131458339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a757505091600193918761079498941061118f575b505050811b01905561283d565b01515f1960f88460031b161c191690555f8080611182565b80600186978294978701518155019601940190611168565b34610528576020366003190112610528576001600160a01b036111e061052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124a90949194600f60f81b845261123c60209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611288575050505090565b83518552938101939281019260010161127a565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611343575b15611306576112e2611bb6565b6112ea611c8b565b9061049f6112f6611db0565b6040519384933091469186611216565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d5565b346105285760203660031901126105285760043561138942612178565b65ffffffffffff81168210156113e7576113aa6113a583612178565b6121da565b6001600160d01b038116156113dd576113c561049f91611e19565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113cd565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142942612178565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f8051602061318583398151915280549061146782611b13565b808552916020916001918281169081156104fb57506001146114935761049f8661049381880382611b95565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d8575050505081016020016104938261049f5f610483565b80548686018401529382019381016114bb565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153b61153661153161052c565b610fef565b61239e565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157a61052c565b6024356001600160401b038111610528575f9161159c83923690600401610616565b90816040519283928337810184815203915af46115db6115ba611dd6565b91610928604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a9611687610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f46116d2610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178861177e61052c565b602435903361202a565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188861052c565b6044359060243560643561189b81611864565b834211611923576119176107949461191e926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118ff82611b7a565b61191260a43593608435935190206123c6565b612455565b918261246d565b61230c565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a9611a2c61052c565b610599611a37610542565b91610fb7565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aee61095c610928610936611aba61052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f805160206131c583398151915260203392a361098e8133611f3e565b90600182811c92168015611b41575b6020831014611b2d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b22565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761083557604052565b60a081019081106001600160401b0382111761083557604052565b90601f801991011681019081106001600160401b0382111761083557604052565b604051905f825f8051602061316583398151915291825492611bd784611b13565b80845293602091600191828116908115611c655750600114611c05575b505050611c0392500383611b95565b565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611c4d5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611c31565b9250505060209250611c0394915060ff191682840152151560051b8201015f8080611bf4565b604051905f825f805160206131a583398151915291825492611cac84611b13565b80845293602091600191828116908115611c655750600114611cd757505050611c0392500383611b95565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611d1f5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611d03565b60405190611c0382611b5f565b6001600160401b03811161083557601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d8182611d44565b92611d8f6040519485611b95565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b03821117610835576040525f8152905f368137565b3d15611e00573d90611de782611d44565b91611df56040519384611b95565b82523d5f602084013e565b606090565b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e05565b8054821015611e4e575f5260205f2001905f90565b600a5480611ebb57505f5b6001600160d01b03811615611eb657600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c7757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e73565b611efd8161239e565b6001600160d01b03811615611f22576001611f189201611e53565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061312583398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0393929081169116612936565b5f805160206131258339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0393929081169116612936565b6001600160a01b039081165f9081525f805160206131258339815191526020526040808220549383168252902054611c0393929082169116612936565b6001600160a01b03808216949392919085156121605782168015612148576001600160a01b0382165f908152600e6020526040902061206d90611ef4565b611ef4565b95848710612119576120aa611c0396976120978560018060a01b03165f52600e60205260405f2090565b90876120a242612178565b910391612e42565b50506001600160a01b0384165f908152600e602052604090206120f9906120d042612178565b6001600160a01b0387165f908152600e6020526040902088906120f290611ef4565b0191612e42565b50506040518581525f805160206131c583398151915290602090a3611fed565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161218b571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c7757565b9060018201809211610c7757565b600a8054915f9280600581116122a5575b5092905b838210612239575050508061220357505f90565b61220c906121be565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122935750925b91906121ef565b93925061229f906121cc565b9161228c565b906122af82612a88565b8203918211610c7757600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122fb57505b5f6121eb565b9350612306906121cc565b926122f5565b611c039161239861206860018060a01b0393848116805f525f8051602061312583398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612936565b8054806123ab5750505f90565b5f19918183810111610c77575f5260205f2001015460301c90565b6123ce612f04565b6123d6612f6e565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b038411176108355760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161246493612c12565b90929192612cb2565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124b8575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561251b573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561254e57565b604051631afcd79f60e31b8152600490fd5b601f811161256c575050565b5f805160206131658339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106125cf575b601f0160051c01905b8181106125c4575050565b5f81556001016125b9565b90915081906125b0565b601f81116125e5575050565b5f805160206131458339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612648575b601f0160051c01905b81811061263d575050565b5f8155600101612632565b9091508190612629565b601f811161265e575050565b5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c830193106126c1575b601f0160051c01905b8181106126b6575050565b5f81556001016126ab565b90915081906126a2565b601f81116126d7575050565b5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061273a575b601f0160051c01905b81811061272f575050565b5f8155600101612724565b909150819061271b565b9081516001600160401b038111610835575f805160206131a583398151915290612777816127728454611b13565b612652565b602080601f83116001146127ac575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b9055565b90601f198316956127ea5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b8882106128255750508360019596971061280d575b505050811b019055565b01515f1960f88460031b161c191690555f8080612803565b806001859682949686015181550195019301906127ee565b9081516001600160401b038111610835575f80516020613185833981519152906128708161286b8454611b13565b6126cb565b602080601f83116001146128a1575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b90601f198316956128df5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106129015750508360019596971061280d57505050811b019055565b806001859682949686015181550195019301906128e3565b5f8061043593602081519101845af4612930611dd6565b91612d3f565b6001600160a01b03808316939291908116908185141580612a61575b61295e575b5050505050565b816129d3575b505082612973575b8080612957565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724916129aa6129a46129b093610fef565b91612da2565b90612dd5565b604080516001600160d01b039384168152919092166020820152a25f808061296c565b6129dc90610fef565b6129e584612da2565b6129ee42612178565b6001600160d01b03918280612a028661239e565b169116900392828411610c77577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a5792612a3e9261300e565b6040805192851683529316602082015291829190820190565b0390a25f80612964565b50831515612952565b8115612a74570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612ba1575b612b49612b3f612b35612b2b612b21612b17612b5597600488600160401b612b509a1015612b94575b640100000000811015612b87575b62010000811015612b7a575b610100811015612b6e575b6010811015612b62575b1015612b5a575b60030260011c612b10818b612a6a565b0160011c90565b612b10818a612a6a565b612b108189612a6a565b612b108188612a6a565b612b108187612a6a565b612b108186612a6a565b8093612a6a565b821190565b900390565b60011b612b00565b811c9160021b91612af9565b60081c91811b91612aef565b60101c9160081b91612ae4565b60201c9160101b91612ad8565b60401c9160201b91612aca565b50600160401b9050608082901c612aa1565b91905b838210612bc35750505090565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff808360205f20015416908416105f14612c005750925b9190612bb6565b939250612c0c906121cc565b91612bf9565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c89579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b44575f516001600160a01b03811615612c7f57905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c9e57565b634e487b7160e01b5f52602160045260245ffd5b612cbb81612c94565b80612cc4575050565b612ccd81612c94565b60018103612ce75760405163f645eedf60e01b8152600490fd5b612cf081612c94565b60028103612d115760405163fce698f760e01b815260048101839052602490fd5b80612d1d600392612c94565b14612d255750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d665750805115612d5457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d99575b612d77575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d6f565b6001600160d01b0390818111612db6571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612ddf42612178565b6001600160d01b03918280612df38661239e565b16911601918211610c775761066d9261300e565b90815491600160401b8310156108355782612e2a916001611c0395018155611e53565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612ed4575b5084612e5f846130eb565b50949092845493612e6f83611ef4565b9681612ebf575b5015612e9c575050505f198101908111610c7757612e2a8591612e9893611e53565b9190565b612e98949293612eb8926001600160d01b03909116919061300e565b5050612e07565b65ffffffffffff83811691161490505f612e76565b600160401b81101561083557806001612ef09201845583611e53565b8154905f199060031b1b191690555f612e54565b612f0c611bb6565b8051908115612f1c576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f495790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612f76611c8b565b8051908115612f86576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f495790565b8054600160401b81101561083557612fd091600182018155611e53565b612ffb57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156130c157613025613030916121be565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116130af57879303613076575061306f92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506130aa91613096613088611d37565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612fb3565b61306f565b604051632520601d60e01b8152600490fd5b50906130e6916130d2613088611d37565b6001600160d01b0385166020830152612fb3565b5f9190565b8054806130fc5750505f905f905f90565b5f19918183810111610c77575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209815c6ca93df2634108dd81959912f92cf2981c6282cd0572568c02f1a5e84b464736f6c63430008190033", - "sourceMap": "983:2869:135:-:0;;;;;;2603:64:52;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:52;983:2869:135;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;-1:-1:-1;;983:2869:135;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:135;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;-1:-1:-1;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;983:2869:135;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:135;;;;;;:::i;:::-;;;966:10:29;11141:19:28;11137:89;;-1:-1:-1;;;;;983:2869:135;;;11239:21:28;;11235:90;;11334:29;966:10:29;;11334:20:28;966:10:29;11334:20:28;:::i;:::-;983:2869:135;;;;;;;;;;;;;;;;11334:29:28;983:2869:135;;;;;;11415:31:28;983:2869:135;966:10:29;11415:31:28;;983:2869:135;;;10117:4:28;983:2869:135;;;11235:90:28;983:2869:135;;-1:-1:-1;;;11283:31:28;;-1:-1:-1;11283:31:28;;;983:2869:135;;;11283:31:28;11137:89;983:2869:135;;-1:-1:-1;;;11183:32:28;;11158:1;11183:32;;;983:2869:135;;;11183:32:28;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;983:2869:135;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2869:135;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2869:135;;;;6893:76:27;;:::i;:::-;;;:::i;:::-;983:2869:135;;;-1:-1:-1;;;;;983:2869:135;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2869:135;;-1:-1:-1;983:2869:135;;;-1:-1:-1;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:32;983:2869:135;2806:64:32;983:2869:135;;3875:17:32;3902:20;983:2869:135;3902:16:32;983:2869:135;;3902:20:32;983:2869:135;;;;;-1:-1:-1;983:2869:135;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;-1:-1:-1;;983:2869:135;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2869:135;;;;;;;757:38:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;1732:22:133;;:::i;:::-;983:2869:135;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;612:37:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;3093:6;3078:48:133;3013:156;3037:90;983:2869:135;;:::i;:::-;;;-1:-1:-1;;;983:2869:135;3078:48:133;;;-1:-1:-1;;;;;983:2869:135;;;;3078:48:133;;;983:2869:135;;;;;;;;;;;;;;;;3078:48:133;;983:2869:135;;3078:48:133;;;;;;:::i;:::-;3037:19;:90;:::i;:::-;983:2869:135;;;;3013:156:133;;;;;;:::i;:::-;983:2869:135;;;-1:-1:-1;983:2869:135;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;3194:10:133;3185:40;;3194:10;3093:6:135;:::i;:::-;983:2869;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:29;4867:29:28;966:10:29;4867:20:28;;;:::i;:29::-;983:2869:135;;11910:37:28;;;11906:310;;983:2869:135;6198:5:28;;;;:::i;:::-;983:2869:135;;4867:13:28;983:2869:135;;;;;11906:310:28;11967:24;;;11963:130;;-1:-1:-1;;;;;983:2869:135;;11141:19:28;11137:89;;966:10:29;11239:21:28;11235:90;;983:2869:135;6198:5:28;983:2869:135;;11334:29:28;966:10:29;11334:20:28;;;:::i;:29::-;983:2869:135;11906:310:28;;11963:130;983:2869:135;;-1:-1:-1;;;12018:60:28;;966:10:29;983:2869:135;12018:60:28;;983:2869:135;;;;;;;;;;;;;;;12018:60:28;983:2869:135;;;;;;-1:-1:-1;;983:2869:135;;;;;4327:34:131;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;2227:28:131;983:2869:135;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;-1:-1:-1;;;1535:37:133;;983:2869:135;1535:37:133;;983:2869:135;;;;;;;;-1:-1:-1;;;;;983:2869:135;1535:37:133;;;;;;983:2869:135;1535:37:133;;;983:2869:135;;;;;;;;;;;;;1535:37:133;;;;;;;;;;;;;;;;:::i;:::-;;;983:2869:135;;;;;;;;;;:::i;:::-;1535:37:133;;;;;-1:-1:-1;1535:37:133;;;;:::i;983:2869:135:-;;;;;;-1:-1:-1;;983:2869:135;;;;;;;1479:40:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;:::i;:::-;;;837:15:79;819:34;837:15;819:34;:::i;:::-;983:2869:135;;;;;;5077:29:26;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;983:2869:135;;9737:15:77;-1:-1:-1;9762:18:77;;9801:1;9795:7;;9791:234;;983:2869:135;10049:53:77;;;;;;:::i;:::-;10120:63;:8;;;:63;;983:2869:135;-1:-1:-1;10120:63:77;983:2869:135;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;10120:63:77;10168:7;983:2869:135;10168:7:77;;:::i;:::-;14439:109;-1:-1:-1;14439:109:77;;-1:-1:-1;14439:109:77;;983:2869:135;;;10120:63:77;;9791:234;9838:14;;;;;:::i;:::-;983:2869:135;;;;;;;10049:53:77;14439:109;;-1:-1:-1;14439:109:77;;;;-1:-1:-1;14439:109:77;;983:2869:135;;;;;9870:48:77;9866:149;983:2869:135;;;9938:10:77;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;983:2869:135;;:::i;5073:115:26:-;983:2869:135;;-1:-1:-1;;;5129:48:26;;983:2869:135;5129:48:26;;983:2869:135;;;;;;;;;;;;;;12018:60:28;983:2869:135;;;;;;-1:-1:-1;;983:2869:135;;;;;;:::i;:::-;;;-1:-1:-1;;;983:2869:135;2242:52:133;;;-1:-1:-1;;;;;983:2869:135;;;2242:52:133;;;983:2869:135;;;;;;;;;2177:160:133;;2201:94;;2242:52;983:2869:135;;;;2242:52:133;983:2869:135;2177:160:133;983:2869:135;;;;;;-1:-1:-1;;;;;;;;;;;;983:2869:135;;;;;;;;2353:46:133;;-1:-1:-1;;;;;2348:22:135;;:::i;:::-;:42;2344:100;;2499:12;;;;:::i;2344:100::-;983:2869;;-1:-1:-1;;;2413:20:135;;983:2869;;2413:20;983:2869;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;983:2869:135;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2869:135;;;;;;2391:34:131;983:2869:135;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;-1:-1:-1;;;;;983:2869:135;;;:::i;:::-;;-1:-1:-1;983:2869:135;-1:-1:-1;;;;;;;;;;;983:2869:135;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;4059:32:131;983:2869:135;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;7028:9:26;983:2869:135;;:::i;:::-;966:10:29;7028:9:26;:::i;983:2869:135:-;;;;;;-1:-1:-1;;983:2869:135;;;;;;-1:-1:-1;983:2869:135;2854:59:131;983:2869:135;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;1041:36:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;1714:45:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;4587:28:131;983:2869:135;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;3967:36:131;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;2559:32:131;983:2869:135;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;-1:-1:-1;;;;;983:2869:135;;:::i;:::-;;-1:-1:-1;983:2869:135;1941:15:133;983:2869:135;;;1941:33:133;983:2869:135;-1:-1:-1;983:2869:135;1941:33:133;:::i;983:2869:135:-;-1:-1:-1;;;;;983:2869:135;;;;;4867:13:28;983:2869:135;;;;;;:::o;:::-;-1:-1:-1;;;;;983:2869:135;;;;;5204:22:26;983:2869:135;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:135;;;;-1:-1:-1;;;;;983:2869:135;;:::i;:::-;;-1:-1:-1;983:2869:135;2730:68:131;983:2869:135;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;:::i;:::-;4846:34:133;;983:2869:135;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;6893:76:27;;;:::i;:::-;;;:::i;:::-;983:2869:135;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;-1:-1:-1;;983:2869:135;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:28;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;-1:-1:-1;;;;;983:2869:135;;:::i;:::-;;-1:-1:-1;983:2869:135;972:64:30;983:2869:135;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;2806:64:32;983:2869:135;5777:18:32;:43;;;983:2869:135;;;;;;:::i;:::-;;;:::i;:::-;6043:16:32;983:2869:135;6043:16:32;;:::i;:::-;983:2869:135;;6000:4:32;;;;5965:13;;983:2869:135;;;:::i;:::-;;;-1:-1:-1;;;983:2869:135;;;;;;;;;;;;-1:-1:-1;;;983:2869:135;;;;;;;5777:43:32;983:2869:135;5799:16:32;983:2869:135;5799:21:32;5777:43;;983:2869:135;;;;;;-1:-1:-1;;983:2869:135;;;;;;819:34:79;837:15;819:34;:::i;:::-;983:2869:135;;;1908:29;;;1904:115;;7117:34:117;2067:28:135;;;:::i;:::-;7117:34:117;:::i;:::-;-1:-1:-1;;;;;983:2869:135;;7168:7:117;983:2869:135;;7178:17:117;983:2869:135;7178:17:117;;:::i;:::-;983:2869:135;;;;;;7168:31:117;983:2869:135;;;;;;;;;;;;;7168:31:117;;983:2869:135;-1:-1:-1;7168:31:117;;1904:115:135;983:2869;;-1:-1:-1;;;1960:48:135;;983:2869;1960:48;;983:2869;;;;;;;;;;;;12018:60:28;983:2869:135;;;;;;-1:-1:-1;;983:2869:135;;;;;819:34:79;837:15;819:34;:::i;:::-;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;983:2869:135;;;;;;;-1:-1:-1;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;3869:42:131;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;-1:-1:-1;;;;;4439:40:26;:31;983:2869:135;;:::i;:::-;4439:31:26;:::i;:::-;:40;:::i;:::-;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;3775:38:131;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;:::i;:::-;;;-1:-1:-1;;;;;983:2869:135;;;;-1:-1:-1;983:2869:135;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:106;;;;477:31;416:25;;:::i;:::-;983:2869:135;;;;;;;;;;477:31:106;;983:2869:135;;;;;;;;;;;:::i;477:31:106:-;518:79;;;983:2869:135;518:79:106;;983:2869:135;;;;;;-1:-1:-1;;983:2869:135;;;;;;2139:32:131;983:2869:135;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;900:35:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;3089:94:131;983:2869:135;;:::i;:::-;;;-1:-1:-1;983:2869:135;3089:94:131;983:2869:135;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;3089:94:131;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;3239:92:131;983:2869:135;;:::i;:::-;;;-1:-1:-1;983:2869:135;3239:92:131;983:2869:135;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;3239:92:131;983:2869:135;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;1187:40:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;4500:31:131;983:2869:135;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;4616:5:28;983:2869:135;;:::i;:::-;;;966:10:29;;4616:5:28;:::i;:::-;983:2869:135;;;4639:4:28;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;-1:-1:-1;983:2869:135;2969:64:131;983:2869:135;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;2481:22:131;983:2869:135;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;3573:43:131;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;1333:36:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;4239:32:131;983:2869:135;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:135;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;7310:15:26;;:24;7306:91;;7423:168;7660:9;983:2869:135;7626:5:26;983:2869:135;;;7477:57:26;983:2869:135;7477:57:26;;983:2869:135;2345:71:26;983:2869:135;;;;;;;;;;2345:71:26;;983:2869:135;2345:71:26;983:2869:135;2345:71:26;;983:2869:135;;2345:71:26;;983:2869:135;;7477:57:26;;;;;:::i;:::-;7450:86;983:2869:135;;;;;;;7467:68:26;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;983:2869:135;;-1:-1:-1;;;7357:29:26;;983:2869:135;7357:29:26;;983:2869:135;;;;;7357:29:26;983:2869:135;;;;;;-1:-1:-1;;983:2869:135;;;;;3672:47:131;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;4147:36:131;983:2869:135;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;2311:24:131;983:2869:135;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;466:39:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;4867:29:28;983:2869:135;;:::i;:::-;4867:20:28;983:2869:135;;:::i;:::-;4867:20:28;;:::i;983:2869:135:-;;;;;;-1:-1:-1;;983:2869:135;;;;;4417:27:131;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;1616:3:131;983:2869:135;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;2594:158:133;2618:92;2659:50;;983:2869:135;;:::i;:::-;;;-1:-1:-1;;;983:2869:135;2659:50:133;;;-1:-1:-1;;;;;983:2869:135;;;;2659:50:133;;;983:2869:135;;;;;;;;;;;;;;;;;2594:158:133;983:2869:135;-1:-1:-1;983:2869:135;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;2777:10:133;2768:46;;2795:12:135;2777:10:133;;2795:12:135;:::i;983:2869::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;:::o;:::-;;;;-1:-1:-1;6441:7:32;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;983:2869:135;;;;;-1:-1:-1;;;983:2869:135;;;;;;;;-1:-1:-1;983:2869:135;;-1:-1:-1;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:32;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;983:2869:135;;;;;-1:-1:-1;;;983:2869:135;;;;;;;;-1:-1:-1;983:2869:135;;-1:-1:-1;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;983:2869:135;;;;;;-1:-1:-1;;983:2869:135;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;983:2869:135;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;7178:12:117;983:2869:135;;;;;;7178:12:117;-1:-1:-1;983:2869:135;;;;-1:-1:-1;983:2869:135;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;983:2869:135;;-1:-1:-1;983:2869:135;;;-1:-1:-1;983:2869:135;:::o;10580:184:117:-;1732:13:133;983:2869:135;10446:8:77;;;:63;-1:-1:-1;10446:63:77;-1:-1:-1;;;;;983:2869:135;;10726:7:117;983:2869:135;;10736:12:117;983:2869:135;;;;;;10736:12:117;-1:-1:-1;983:2869:135;;;;10580:184:117;:::o;10726:31::-;;-1:-1:-1;10580:184:117;:::o;10446:63:77:-;983:2869:135;;;;;;;;1732:13:133;-1:-1:-1;14439:109:77;;;983:2869:135;;;10446:63:77;;10580:184:117;10689:20;;;:::i;:::-;-1:-1:-1;;;;;983:2869:135;;10726:7:117;983:2869:135;;10736:12:117;:17;:12;;:17;:::i;:::-;983:2869:135;;;;;;10580:184:117;:::o;10726:31::-;;;10689:11;10580:184;:::o;983:2869:135:-;;;;;;;;;;;;;;;;;:::o;3342:165::-;-1:-1:-1;;;;;983:2869:135;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;3342:165::-;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;3342:165::-;-1:-1:-1;;;;;983:2869:135;;;-1:-1:-1;983:2869:135;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;6605:300:28:-;-1:-1:-1;;;;;983:2869:135;;;;6605:300:28;;;;6688:18;;6684:86;;983:2869:135;;6783:16:28;;6779:86;;-1:-1:-1;;;;;983:2869:135;;;;;;1941:15:133;983:2869:135;;;;;1941:33:133;;;:::i;:24::-;:33;:::i;:::-;3669:19;;;;3665:115;;3900:65;3271:5:135;3900:21:133;;;;983:2869:135;;;;;;;;1941:15:133;983:2869:135;;;;;;;3900:21:133;837:15:79;;819:34;837:15;819:34;:::i;:::-;983:2869:135;;3900:65:133;;:::i;:::-;-1:-1:-1;;;;;;;983:2869:135;;;;;;1941:15:133;983:2869:135;;;;;4416:65:133;;819:34:79;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:135;;;;;;1941:15:133;983:2869:135;;;;;1941:24:133;;:33;;;:::i;:::-;983:2869:135;4416:65:133;;:::i;:::-;-1:-1:-1;;983:2869:135;;;;;-1:-1:-1;;;;;;;;;;;4521:25:133;983:2869:135;;4521:25:133;3271:5:135;:::i;3665:115:133:-;983:2869:135;;-1:-1:-1;;;3715:50:133;;-1:-1:-1;;;;;983:2869:135;;3715:50:133;;;983:2869:135;;;;;;;;;;;;;;;12018:60:28;6779:86;983:2869:135;;-1:-1:-1;;;6822:32:28;;6704:1;6822:32;;;983:2869:135;;;6822:32:28;6684:86;983:2869:135;;-1:-1:-1;;;6729:30:28;;6704:1;6729:30;;;983:2869:135;;;6729:30:28;14296:213:75;983:2869:135;14374:24:75;;;;14370:103;;983:2869:135;14296:213:75;:::o;14370:103::-;983:2869:135;;;;14421:41:75;;;;;;14452:2;14421:41;;;983:2869:135;;;;;14421:41:75;983:2869:135;;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;:::o;:::-;;9999:1:77;983:2869:135;;;;;;;:::o;9584:606:77:-;2035:13:135;;983:2869;9737:15:77;9702:17;9762:18;;9801:1;9795:7;;9791:234;;9584:606;10049:53;;13105:230;13112:10;;;;;;-1:-1:-1;;;10120:8:77;;;:63;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;2035:13:135;9702:17:77;14439:109;;;983:2869:135;;;9584:606:77;:::o;13105:230::-;3721:5:74;;;;;;3731;;;;983:2869:135;;;;;;;;;14439:109:77;9702:17;14439:109;983:2869:135;14439:109:77;;;;983:2869:135;;;;;-1:-1:-1;13189:136:77;983:2869:135;;;13248:10:77;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;983:2869:135;;;;;;;2035:13;9702:17:77;14439:109;983:2869:135;14439:109:77;;;;983:2869:135;;;;;9870:48:77;9866:149;983:2869:135;;;9938:10:77;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;7855:367:26;8190:24;7855:367;1941:33:133;:24;983:2869:135;;;;;;;;;;-1:-1:-1;983:2869:135;-1:-1:-1;;;;;;;;;;;983:2869:135;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;;;;;8089:48:26;-1:-1:-1;8089:48:26;;-1:-1:-1;;;;;983:2869:135;;;;;1941:15:133;983:2869:135;;;;;;;1941:33:133;8190:24:26;;:::i;10310:206:77:-;983:2869:135;;10446:8:77;;;:63;;10405:17;10310:206;:::o;10446:63::-;983:2869:135;;;;;;;;;;10405:17:77;14439:109;;10405:17;14439:109;;;983:2869:135;;;10310:206:77;:::o;4946:176:32:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;983:2869:135;;;4221:92:32;;;;983:2869:135;2073:95:32;983:2869:135;;;2073:95:32;;983:2869:135;2073:95:32;;;983:2869:135;4284:13:32;2073:95;;;983:2869:135;4307:4:32;2073:95;;;983:2869:135;2073:95:32;4221:92;;2073:95;983:2869:135;;;;;;-1:-1:-1;;;;;983:2869:135;;;;;3445:249:70;983:2869:135;3445:249:70;983:2869:135;;;;;;4211:103:32;;-1:-1:-1;;;3445:249:70;;;;;;;;;4946:176:32;:::o;6887:260:68:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;:::-;7105:8;;;;;:::i;2100:222:30:-;-1:-1:-1;;;;;983:2869:135;;-1:-1:-1;983:2869:135;;;972:64:30;983:2869:135;;;;;;;;;;;;;;2231:16:30;;;2227:89;;2100:222;;:::o;2227:89::-;983:2869:135;;-1:-1:-1;;;2270:35:30;;-1:-1:-1;;;;;983:2869:135;;;;2270:35:30;;;983:2869:135;;;;;;;;;;12018:60:28;2323:83:52;1019:819;;;;;;;4685:19:133;;1019:819:52;;;;;;;;;;;;;;;;7084:141:27;983:2869:135;8837:64:27;983:2869:135;;;;7150:18:27;7146:73;;7084:141::o;7146:73::-;983:2869:135;;-1:-1:-1;;;7191:17:27;;;;;983:2869:135;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:135;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:135;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:135;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:135;;;;;;;;;-1:-1:-1;983:2869:135;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:135;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;3900:253:60;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;8998:846:26:-;-1:-1:-1;;;;;983:2869:135;;;;8998:846:26;;983:2869:135;;;;9152:10:26;;;;;:24;;8998:846;9148:690;;8998:846;;;;;;:::o;9148:690::-;9196:18;9192:317;;9148:690;9526:16;;;9522:306;;9148:690;;;;;9522:306;9769:44;9628:26;9702;9628;9601:145;9628:26;;:::i;:::-;9702;;:::i;:::-;9601:145;;:::i;:::-;983:2869:135;;;-1:-1:-1;;;;;983:2869:135;;;;;;;;;;;;;9769:44:26;9522:306;;;;;9192:317;9300:28;;;:::i;:::-;9381:26;;;:::i;:::-;819:34:79;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:135;;;10716:14:26;;;:::i;:::-;983:2869:135;;;;;;;;;;;9448:46:26;8310:38:77;9448:46:26;8310:38:77;;;;:::i;:::-;983:2869:135;;;;;;;;;;;;;;;;;;;;;;9448:46:26;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;983:2869:135;;;;;;;:::o;:::-;;;;;;;;;;;;18080:5181:74;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:74;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:74;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;983:2869:135;18246:1:74;983:2869:135;22284:6:74;;;;:::i;:::-;983:2869:135;;;;;22278:18:74;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;983:2869:135;23216:28:74;983:2869:135;;18080:5181:74;:::o;19887:61::-;18246:1;983:2869:135;19887:61:74;;19787:87;983:2869:135;;;;;19787:87:74;;;19687;983:2869:135;;;;;19687:87:74;;;19585:89;983:2869:135;;;;;19585:89:74;;;19482:90;983:2869:135;;;;;19482:90:74;;;19379;983:2869:135;;;;;19379:90:74;;;19274:92;-1:-1:-1;;;;983:2869:135;-1:-1:-1;983:2869:135;;;;19274:92:74;;12929:433:77;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:74;;;;;;3731;;;;983:2869:135;;;;;;;;;14439:109:77;-1:-1:-1;14439:109:77;983:2869:135;14439:109:77;;;-1:-1:-1;14439:109:77;;983:2869:135;;;;;-1:-1:-1;13189:136:77;983:2869:135;;;13248:10:77;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;5203:1551:68;;;6283:66;6270:79;;6266:164;;983:2869:135;;;;;;-1:-1:-1;983:2869:135;;;;;;;;;;;;;;;;;;;6541:24:68;;;;;;;;;-1:-1:-1;6541:24:68;-1:-1:-1;;;;;983:2869:135;;6579:20:68;6575:113;;6698:49;-1:-1:-1;6698:49:68;-1:-1:-1;5203:1551:68;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:68;6541:24;6615:62;-1:-1:-1;6615:62:68;:::o;6266:164::-;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;983:2869:135:-;;-1:-1:-1;983:2869:135;;;:::o;:::-;;;;;;;;;;;;7280:532:68;983:2869:135;;;:::i;:::-;7366:29:68;;;7411:7;;:::o;7362:444::-;983:2869:135;;;:::i;:::-;7471:29:68;7462:38;;7471:29;;983:2869:135;;-1:-1:-1;;;7523:23:68;;;;;7458:348;983:2869:135;;;:::i;:::-;7576:35:68;7567:44;;7576:35;;983:2869:135;;-1:-1:-1;;;7634:46:68;;;;;983:2869:135;;;;;12018:60:28;7563:243:68;983:2869:135;;7710:30:68;983:2869:135;;:::i;:::-;7701:39:68;7697:109;;7563:243;7280:532::o;7697:109::-;983:2869:135;;-1:-1:-1;;;7763:32:68;;;;;983:2869:135;;;;;;12018:60:28;4421:582:60;;4593:8;;-1:-1:-1;983:2869:135;;5674:21:60;:17;;5799:158;;;;;;5670:354;983:2869:135;;-1:-1:-1;;;5994:19:60;;;;;4589:408;983:2869:135;;4841:22:60;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;983:2869:135;;-1:-1:-1;;;4917:24:60;;-1:-1:-1;;;;;983:2869:135;;;4917:24:60;;;983:2869:135;;;4917:24:60;4841:49;4867:18;;;:23;4841:49;;4174:218:75;-1:-1:-1;;;;;983:2869:135;4254:25:75;;;4250:105;;983:2869:135;4174:218:75;:::o;4250:105::-;983:2869:135;;;;14421:41:75;;;;4302:42;;4333:3;4302:42;;;983:2869:135;;;;;4302:42:75;10473:273:26;;819:34:79;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:135;;;10716:14:26;;;:::i;:::-;983:2869:135;;;;;;;;;8310:38:77;;;:::i;983:2869:135:-;;;;;-1:-1:-1;;;983:2869:135;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:117;;;;;6360:12;;;983:2869:135;;;6360:24:117;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;983:2869:135;;;;;;6578:12:117;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:117;;;-1:-1:-1;;;;;983:2869:135;;;;;;;6644:21:117;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;983:2869:135;;8310:38:77;;-1:-1:-1;;;;;983:2869:135;;;;;8310:38:77;:::i;:::-;6753:24:117;;;:::i;6604:::-;983:2869:135;;;;;;6614:14:117;;-1:-1:-1;6604:24:117;;;6356:75;-1:-1:-1;;;983:2869:135;;;;;;6360:12:117;983:2869:135;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:117;;;7058:687:32;983:2869:135;;:::i;:::-;;;;7230:22:32;;;;983:2869:135;;7275:22:32;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:32;983:2869:135;7603:15:32;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;983:2869:135;;:::i;:::-;;;;8147:25:32;;;;983:2869:135;;8195:25:32;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:32;983:2869:135;8541:18:32;;;;8579:20;:::o;983:2869:135:-;;;-1:-1:-1;;;983:2869:135;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;983:2869:135;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:77;983:2869:135;;11657:922:77;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;983:2869:135;;;;;;;;;;;;12103:13:77;;;12099:89;;12251:14;;;;;12285:19;;;;983:2869:135;;;;;;;;;;;;;;;;;12285:19:77;983:2869:135;;12423:25:77;;:::o;12247:163::-;983:2869:135;;;12343:52:77;983:2869:135;12353:41:77;983:2869:135;;:::i;:::-;;;;;;;;12353:41:77;-1:-1:-1;;;;;983:2869:135;;12353:41:77;;;983:2869:135;12343:52:77;:::i;:::-;12247:163;;12099:89;983:2869:135;;-1:-1:-1;;;12143:30:77;;;;;11860:713;983:2869:135;;12479:52:77;983:2869:135;12489:41:77;983:2869:135;;:::i;12489:41:77:-;-1:-1:-1;;;;;983:2869:135;;12489:41:77;;;983:2869:135;12343:52:77;:::i;12479:::-;11870:1;12545:17;;:::o;10695:389::-;983:2869:135;;10871:8:77;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;983:2869:135;;;;;;;;;;10833:17:77;14439:109;;10833:17;14439:109;;;983:2869:135;11014:1:77;983:2869:135;;;;;;;11030:37:77;:::o", - "linkReferences": {}, - "immutableReferences": { - "83679": [ - { "start": 2360, "length": 32 }, - { "start": 9453, "length": 32 } - ] - } - }, - "methodIdentifiers": { - "CLOCK_MODE()": "4bf5d7e9", - "DEPOSITOR_WHITELIST_ROLE()": "1b66c9e1", - "DEPOSIT_LIMIT_SET_ROLE()": "a21a1df9", - "DEPOSIT_WHITELIST_SET_ROLE()": "db388715", - "EPOCH_DURATION_SET_ROLE()": "61819dd8", - "FLASH_FEE_BASE()": "ecc98f05", - "FLASH_FEE_RATE_SET_ROLE()": "bc46f722", - "FLASH_FEE_RECEIVER_SET_ROLE()": "31d9736c", - "FLASH_LOAN_ENABLED_SET_ROLE()": "a66b3a73", - "IS_DEPOSIT_LIMIT_SET_ROLE()": "1415519b", - "RETURN_VALUE()": "653b04cd", - "_VaultTokenized_init(bytes)": "7bd00ae8", - "_VaultVotes_init(bytes)": "0eac105e", - "_epochDuration()": "2fa27fae", - "_epochDurationInit()": "9f9962dd", - "_epochDurationInitIndex()": "9b4bae3e", - "_epochDurationSetEpochsDelay()": "bba6ff4a", - "_nextEpochDuration()": "c1bc6f51", - "_nextEpochDurationInit()": "cc52aee7", - "_nextEpochDurationSetEpochsDelay()": "c4db46fc", - "_nextEpochInitIndex()": "2749f9c4", - "_prevEpochDuration()": "5a36aa74", - "_prevEpochDurationInit()": "6e0f2455", - "_prevEpochDurationInitIndex()": "98ccba4a", - "allowance(address,address)": "dd62ed3e", - "approve(address,uint256)": "095ea7b3", - "balanceOf(address)": "70a08231", - "burner()": "27810b6e", - "clock()": "91ddadf4", - "collateral()": "d8dfeb45", - "decimals()": "313ce567", - "delegate(address)": "5c19a95c", - "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": "c3cda520", - "delegates(address)": "587cde1e", - "delegator()": "ce9b7930", - "deposit(address,uint256)": "47e7ef24", - "depositLimit()": "ecf70858", - "depositWhitelist()": "48d3b775", - "eip712Domain()": "84b0196e", - "flashFeeRate()": "e945da7f", - "flashFeeReceiver()": "a8b24f9a", - "flashLoanEnabled()": "65d61c6c", - "getPastTotalSupply(uint256)": "8e539e8c", - "getPastVotes(address,uint256)": "3a46b1a8", - "getVotes(address)": "9ab24eb0", - "isDelegatorInitialized()": "50861adc", - "isDepositLimit()": "a1b12202", - "isDepositorWhitelisted(address)": "794b15b7", - "isSlasherInitialized()": "6ec1e3f8", - "isWithdrawalsClaimed(uint256,address)": "a5d03223", - "name()": "06fdde03", - "nonces(address)": "7ecebe00", - "redeem(address,uint256)": "1e9a6950", - "slasher()": "b1344271", - "staticDelegateCall(address,bytes)": "9f86fd85", - "symbol()": "95d89b41", - "totalSupply()": "18160ddd", - "transfer(address,uint256)": "a9059cbb", - "transferFrom(address,address,uint256)": "23b872dd", - "withdraw(address,uint256)": "f3fef3a3", - "withdrawalShares(uint256)": "afba70ad", - "withdrawalSharesOf(uint256,address)": "a3b54172", - "withdrawals(uint256)": "5cc07076" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SafeSupplyExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":\"VaultVotesImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65\",\"dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd\",\"dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6\"]}},\"version\":1}", - "metadata": { - "compiler": { "version": "0.8.25+commit.b61c2a91" }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "baseImplementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" } - ], - "type": "error", - "name": "AddressEmptyCode" - }, - { - "inputs": [], - "type": "error", - "name": "CheckpointUnorderedInsertion" - }, - { "inputs": [], "type": "error", "name": "ECDSAInvalidSignature" }, - { - "inputs": [ - { "internalType": "uint256", "name": "length", "type": "uint256" } - ], - "type": "error", - "name": "ECDSAInvalidSignatureLength" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "s", "type": "bytes32" } - ], - "type": "error", - "name": "ECDSAInvalidSignatureS" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { - "internalType": "uint256", - "name": "allowance", - "type": "uint256" - }, - { "internalType": "uint256", "name": "needed", "type": "uint256" } - ], - "type": "error", - "name": "ERC20InsufficientAllowance" - }, - { - "inputs": [ - { "internalType": "address", "name": "sender", "type": "address" }, - { "internalType": "uint256", "name": "balance", "type": "uint256" }, - { "internalType": "uint256", "name": "needed", "type": "uint256" } - ], - "type": "error", - "name": "ERC20InsufficientBalance" - }, - { - "inputs": [ - { "internalType": "address", "name": "approver", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidApprover" - }, - { - "inputs": [ - { "internalType": "address", "name": "receiver", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidReceiver" - }, - { - "inputs": [ - { "internalType": "address", "name": "sender", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidSender" - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" } - ], - "type": "error", - "name": "ERC20InvalidSpender" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "timepoint", - "type": "uint256" - }, - { "internalType": "uint48", "name": "clock", "type": "uint48" } - ], - "type": "error", - "name": "ERC5805FutureLookup" - }, - { "inputs": [], "type": "error", "name": "ERC6372InconsistentClock" }, - { "inputs": [], "type": "error", "name": "FailedCall" }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { - "internalType": "uint256", - "name": "currentNonce", - "type": "uint256" - } - ], - "type": "error", - "name": "InvalidAccountNonce" - }, - { "inputs": [], "type": "error", "name": "InvalidData" }, - { "inputs": [], "type": "error", "name": "InvalidInitialization" }, - { "inputs": [], "type": "error", "name": "NotInitializing" }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { "internalType": "uint8", "name": "bits", "type": "uint8" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "type": "error", - "name": "SafeCastOverflowedUintDowncast" - }, - { "inputs": [], "type": "error", "name": "SafeSupplyExceeded" }, - { - "inputs": [ - { "internalType": "uint256", "name": "expiry", "type": "uint256" } - ], - "type": "error", - "name": "VotesExpiredSignature" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "owner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "spender", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Approval", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegator", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "fromDelegate", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "toDelegate", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "DelegateChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegate", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "previousVotes", - "type": "uint256", - "indexed": false - }, - { - "internalType": "uint256", - "name": "newVotes", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "DelegateVotesChanged", - "anonymous": false - }, - { - "inputs": [], - "type": "event", - "name": "EIP712DomainChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "version", - "type": "uint64", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "to", - "type": "address", - "indexed": true - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256", - "indexed": false - } - ], - "type": "event", - "name": "Transfer", - "anonymous": false - }, - { "inputs": [], "stateMutability": "payable", "type": "fallback" }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "CLOCK_MODE", - "outputs": [ - { "internalType": "string", "name": "", "type": "string" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_BASE", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "RETURN_VALUE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [ - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "_VaultTokenized_init" - }, - { - "inputs": [{ "internalType": "bytes", "name": "", "type": "bytes" }], - "stateMutability": "nonpayable", - "type": "function", - "name": "_VaultVotes_init" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" }, - { "internalType": "address", "name": "spender", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "allowance", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "spender", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "approve", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "balanceOf", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "burner", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "clock", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "collateral", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "decimals", - "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "delegate" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "delegatee", - "type": "address" - }, - { "internalType": "uint256", "name": "nonce", "type": "uint256" }, - { "internalType": "uint256", "name": "expiry", "type": "uint256" }, - { "internalType": "uint8", "name": "v", "type": "uint8" }, - { "internalType": "bytes32", "name": "r", "type": "bytes32" }, - { "internalType": "bytes32", "name": "s", "type": "bytes32" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "delegateBySig" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "delegates", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "delegator", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { - "internalType": "address", - "name": "onBehalfOf", - "type": "address" - }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "deposit", - "outputs": [ - { - "internalType": "uint256", - "name": "depositedAmount", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositLimit", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositWhitelist", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "eip712Domain", - "outputs": [ - { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, - { "internalType": "string", "name": "name", "type": "string" }, - { "internalType": "string", "name": "version", "type": "string" }, - { "internalType": "uint256", "name": "chainId", "type": "uint256" }, - { - "internalType": "address", - "name": "verifyingContract", - "type": "address" - }, - { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, - { - "internalType": "uint256[]", - "name": "extensions", - "type": "uint256[]" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeRate", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeReceiver", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashLoanEnabled", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "timepoint", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPastTotalSupply", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { - "internalType": "uint256", - "name": "timepoint", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function", - "name": "getPastVotes", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "getVotes", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDelegatorInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDepositLimit", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isDepositorWhitelisted", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isSlasherInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isWithdrawalsClaimed", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "name", - "outputs": [ - { "internalType": "string", "name": "", "type": "string" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "nonces", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "claimer", "type": "address" }, - { "internalType": "uint256", "name": "shares", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "redeem", - "outputs": [ - { - "internalType": "uint256", - "name": "withdrawnAssets", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "slasher", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "staticDelegateCall" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "symbol", - "outputs": [ - { "internalType": "string", "name": "", "type": "string" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "totalSupply", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transfer", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "from", "type": "address" }, - { "internalType": "address", "name": "to", "type": "address" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferFrom", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "claimer", "type": "address" }, - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "withdraw", - "outputs": [ - { - "internalType": "uint256", - "name": "burnedShares", - "type": "uint256" - }, - { - "internalType": "uint256", - "name": "mintedShares", - "type": "uint256" - } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalShares", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalSharesOf", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawals", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "CLOCK_MODE()": { "details": "Description of the clock" }, - "allowance(address,address)": { - "details": "See {IERC20-allowance}." - }, - "approve(address,uint256)": { - "details": "See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." - }, - "balanceOf(address)": { - "details": "Returns the value of tokens owned by `account`." - }, - "clock()": { - "details": "Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)." - }, - "decimals()": { - "details": "Returns the decimals places of the token." - }, - "delegate(address)": { - "details": "Delegates votes from the sender to `delegatee`." - }, - "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": { - "details": "Delegates votes from signer to `delegatee`." - }, - "delegates(address)": { - "details": "Returns the delegate that `account` has chosen." - }, - "eip712Domain()": { "details": "See {IERC-5267}." }, - "getPastTotalSupply(uint256)": { - "details": "Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote." - }, - "getPastVotes(address,uint256)": { - "details": "Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined." - }, - "getVotes(address)": { - "details": "Returns the current amount of votes that `account` has." - }, - "name()": { "details": "Returns the name of the token." }, - "nonces(address)": { - "details": "Returns the next unused nonce for an address." - }, - "staticDelegateCall(address,bytes)": { - "details": "It allows to use this contract's storage on-chain.", - "params": { - "data": "data to make a delegatecall with", - "target": "address of the contract to make a delegatecall to" - } - }, - "symbol()": { - "details": "Returns the symbol of the token, usually a shorter version of the name." - }, - "totalSupply()": { - "details": "Returns the value of tokens in existence." - }, - "transfer(address,uint256)": { - "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`." - }, - "transferFrom(address,address,uint256)": { - "details": "See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`." - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "DEPOSITOR_WHITELIST_ROLE()": { - "notice": "Get a depositor whitelist status setter's role." - }, - "DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit setter's role." - }, - "DEPOSIT_WHITELIST_SET_ROLE()": { - "notice": "Get a deposit whitelist enabler/disabler's role." - }, - "EPOCH_DURATION_SET_ROLE()": { - "notice": "Get a epoch duration setter's role." - }, - "FLASH_FEE_BASE()": { "notice": "Get a flash fee base." }, - "FLASH_FEE_RATE_SET_ROLE()": { - "notice": "Get a flash fee rate setter's role." - }, - "FLASH_FEE_RECEIVER_SET_ROLE()": { - "notice": "Get a flash fee receiver setter's role." - }, - "FLASH_LOAN_ENABLED_SET_ROLE()": { - "notice": "Get a flash loan enabled setter's role." - }, - "IS_DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit enabler/disabler's role." - }, - "RETURN_VALUE()": { - "notice": "Get a value that must be returned by the flash loan borrower." - }, - "_epochDuration()": { - "notice": "Get a duration of the epoch (internal)." - }, - "_epochDurationInit()": { - "notice": "Get a time point of the epoch duration set (internal)." - }, - "_epochDurationInitIndex()": { - "notice": "Get the current epoch duration's first epoch (internal)." - }, - "_epochDurationSetEpochsDelay()": { - "notice": "Get a delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochDuration()": { - "notice": "Get a duration of the next epoch (internal)." - }, - "_nextEpochDurationInit()": { - "notice": "Get a time point of the next epoch duration set (internal)." - }, - "_nextEpochDurationSetEpochsDelay()": { - "notice": "Get the next delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochInitIndex()": { - "notice": "Get a the next epoch duration's first epoch (internal)." - }, - "_prevEpochDuration()": { - "notice": "Get a duration of the previous epoch (internal)." - }, - "_prevEpochDurationInit()": { - "notice": "Get a time point of the previous epoch duration set (internal)." - }, - "_prevEpochDurationInitIndex()": { - "notice": "Get a the previous epoch duration's first epoch (internal)." - }, - "burner()": { - "notice": "Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)." - }, - "collateral()": { "notice": "Get a vault collateral." }, - "delegator()": { - "notice": "Get a delegator (it delegates the vault's stake to networks and operators)." - }, - "depositLimit()": { - "notice": "Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)." - }, - "depositWhitelist()": { - "notice": "Get if the deposit whitelist is enabled." - }, - "flashFeeRate()": { - "notice": "Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)." - }, - "flashFeeReceiver()": { "notice": "Get a flash fee receiver." }, - "flashLoanEnabled()": { - "notice": "Get if a flash loan mechanic is enabled." - }, - "isDelegatorInitialized()": { - "notice": "Get if the delegator is initialized." - }, - "isDepositLimit()": { "notice": "Get if the deposit limit is set." }, - "isDepositorWhitelisted(address)": { - "notice": "Get if a given account is whitelisted as a depositor." - }, - "isSlasherInitialized()": { - "notice": "Get if the slasher is initialized." - }, - "isWithdrawalsClaimed(uint256,address)": { - "notice": "Get if the withdrawals are claimed for a particular account at a given epoch." - }, - "slasher()": { - "notice": "Get a slasher (it provides networks a slashing mechanism)." - }, - "staticDelegateCall(address,bytes)": { - "notice": "Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)." - }, - "withdrawalShares(uint256)": { - "notice": "Get a total number of withdrawal shares at a given epoch." - }, - "withdrawalSharesOf(uint256,address)": { - "notice": "Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)." - }, - "withdrawals(uint256)": { - "notice": "Get a total amount of the withdrawals at a given epoch." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { "enabled": true, "runs": 200 }, - "metadata": { "bytecodeHash": "ipfs" }, - "compilationTarget": { - "src/contracts/vault/v1.1/VaultVotesImplementation.sol": "VaultVotesImplementation" - }, - "evmVersion": "cancun", - "libraries": {}, - "viaIR": true - }, - "sources": { - "lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol": { - "keccak256": "0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b", - "urls": [ - "bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0", - "dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", - "urls": [ - "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", - "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol": { - "keccak256": "0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139", - "urls": [ - "bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2", - "dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", - "urls": [ - "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", - "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol": { - "keccak256": "0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4", - "urls": [ - "bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827", - "dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol": { - "keccak256": "0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866", - "urls": [ - "bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf", - "dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol": { - "keccak256": "0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5", - "urls": [ - "bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33", - "dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606", - "urls": [ - "bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1", - "dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol": { - "keccak256": "0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947", - "urls": [ - "bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856", - "dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": { - "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724", - "urls": [ - "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a", - "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol": { - "keccak256": "0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341", - "urls": [ - "bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce", - "dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol": { - "keccak256": "0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b", - "urls": [ - "bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e", - "dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol": { - "keccak256": "0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92", - "urls": [ - "bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a", - "dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol": { - "keccak256": "0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818", - "urls": [ - "bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a", - "dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol": { - "keccak256": "0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33", - "urls": [ - "bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb", - "dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol": { - "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b", - "urls": [ - "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b", - "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/Proxy.sol": { - "keccak256": "0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd", - "urls": [ - "bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac", - "dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", - "urls": [ - "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", - "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330", - "urls": [ - "bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf", - "dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", - "urls": [ - "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", - "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Errors.sol": { - "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", - "urls": [ - "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", - "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Panic.sol": { - "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", - "urls": [ - "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", - "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Strings.sol": { - "keccak256": "0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed", - "urls": [ - "bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0", - "dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol": { - "keccak256": "0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84", - "urls": [ - "bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9", - "dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol": { - "keccak256": "0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575", - "urls": [ - "bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e", - "dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", - "urls": [ - "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", - "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", - "urls": [ - "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", - "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": { - "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", - "urls": [ - "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", - "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol": { - "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3", - "urls": [ - "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03", - "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol": { - "keccak256": "0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f", - "urls": [ - "bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44", - "dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/types/Time.sol": { - "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", - "urls": [ - "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", - "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" - ], - "license": "MIT" - }, - "src/contracts/common/StaticDelegateCallable.sol": { - "keccak256": "0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90", - "urls": [ - "bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764", - "dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD" - ], - "license": "BUSL-1.1" - }, - "src/contracts/libraries/Checkpoints.sol": { - "keccak256": "0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c", - "urls": [ - "bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609", - "dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE" - ], - "license": "MIT" - }, - "src/contracts/vault/v1.1/VaultStorage.sol": { - "keccak256": "0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7", - "urls": [ - "bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70", - "dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultTokenizedImplementation.sol": { - "keccak256": "0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce", - "urls": [ - "bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1", - "dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultVotesImplementation.sol": { - "keccak256": "0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a", - "urls": [ - "bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65", - "dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM" - ], - "license": "MIT" - }, - "src/interfaces/common/IStaticDelegateCallable.sol": { - "keccak256": "0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5", - "urls": [ - "bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516", - "dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVault.sol": { - "keccak256": "0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105", - "urls": [ - "bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd", - "dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultStorage.sol": { - "keccak256": "0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022", - "urls": [ - "bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882", - "dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultTokenized.sol": { - "keccak256": "0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0", - "urls": [ - "bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2", - "dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultVotes.sol": { - "keccak256": "0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3", - "urls": [ - "bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd", - "dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 135 -} +{"abi":[{"type":"constructor","inputs":[{"name":"baseImplementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_VaultTokenized_init","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_VaultVotes_init","inputs":[{"name":"","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deposit","inputs":[{"name":"onBehalfOf","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"depositedAmount","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"redeem","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"shares","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"withdrawnAssets","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdraw","inputs":[{"name":"claimer","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"burnedShares","type":"uint256","internalType":"uint256"},{"name":"mintedShares","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousVotes","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotes","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC5805FutureLookup","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"clock","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"ERC6372InconsistentClock","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidData","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SafeSupplyExceeded","inputs":[]},{"type":"error","name":"VotesExpiredSignature","inputs":[{"name":"expiry","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60a034606d57601f6132a038819003918201601f19168301916001600160401b03831184841017607157808492602094604052833981010312606d57516001600160a01b0381168103606d5760805260405161321a9081610086823960805181818161093801526124ed0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe6080604052600436106124e3575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124e357611a95565b611a78565b611a5a565b611a3d565b611a0e565b6119d4565b6119a9565b611981565b611959565b61193c565b61186f565b61183c565b611802565b6117e5565b6117bd565b611793565b611762565b61173a565b611700565b6116b2565b611669565b61162f565b61160b565b6115e3565b611561565b611544565b611508565b6114eb565b611439565b61140e565b61136c565b61129c565b6111bf565b611064565b611027565b610f80565b610f5b565b610f36565b610f11565b610ed7565b610e9d565b610e73565b610e51565b610e29565b610de4565b610dbf565b610d71565b610d50565b610ca5565b610b83565b610b49565b610ab2565b610a92565b610a6a565b610a4d565b61099f565b6108d0565b610896565b610874565b61083a565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061314583398151915280549061046682611b13565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b95565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fb7565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b505060405161068d81611b5f565b600a8152602090695661756c74566f74657360b01b6020820152604051906106b482611b5f565b60019260018352603160f81b60208401526106cd61251f565b6106d561251f565b8151906001600160401b038211610835575f8051602061316583398151915292610708836107038654611b13565b612560565b602091601f84116001146107a15750610744955061073d92915f9183610796575b50508160011b915f199060031b1c19161790565b9055612744565b61076c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b6107945f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610729565b5f805160206131658339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b83831061081e57505050958392916001946107449810610806575b505050811b019055612744565b01515f1960f88460031b161c191690555f80806107f9565b848a015186559881019894850194918101916107de565b611b4b565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f36600319011261052857602061088e611e68565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098e61093661096b61095c6108f561052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b95565b7f0000000000000000000000000000000000000000000000000000000000000000612919565b60208082518301019101611f28565b9290915f6040518281525f805160206131c583398151915260203392a333611f3e565b604080519182526020820192909252f35b34610528576060366003190112610528576109b861052c565b6109c0610542565b604435906109d13361059985610fb7565b5492600184016109f2575b6109e6935061202a565b60405160018152602090f35b828410610a27576001600160a01b038116156105fe5733156105e657826109e69403610a213361059984610fb7565b556109dc565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b44575f90610b07575b60405160ff919091168152602090f35b506020813d602011610b3c575b81610b2160209383611b95565b810103126105285761049f9051610b3781611864565b610af7565b3d9150610b14565b611d5f565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9c61052c565b60243590610ba942612178565b9065ffffffffffff91828116841015610c7c5750610bc9610bcf91610fef565b92612178565b8254905f908260058111610c2e575b50610bea935084612bb3565b9081610c1157505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1d61049f926121be565b905f5260205f20015460301c610bf7565b9092610c3982612a88565b8203918211610c7757610bea94865f52808360205f20015416908516105f14610c655750915b5f610bde565b929150610c71906121cc565b90610c5f565b6121aa565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cbe61052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cfc9061095c906109368160648101610928565b916040518381525f5f805160206131c5833981519152602060018060a01b03851693a36001600160d01b03610d2f611e68565b11610d3e578261098e91611f97565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d9081611b5f565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610e0861052c565b165f525f80516020613125833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b3461052857602036600319011261052857610794610e6d61052c565b3361230c565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610fa161052c565b165f52600e602052602061088e60405f20611ef4565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361104861052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761107236610643565b8101604082820312610528576001600160401b03918035838111610528578261109c918301611d6a565b906020926020820135858111610528576110b69201611d6a565b916110bf61251f565b6110c761251f565b8151938411610835575f80516020613145833981519152916110f2856110ed8554611b13565b6125d9565b602091601f861160011461112c5750938061112592610794965f926107965750508160011b915f199060031b1c19161790565b905561283d565b5f805160206131458339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a757505091600193918761079498941061118f575b505050811b01905561283d565b01515f1960f88460031b161c191690555f8080611182565b80600186978294978701518155019601940190611168565b34610528576020366003190112610528576001600160a01b036111e061052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124a90949194600f60f81b845261123c60209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611288575050505090565b83518552938101939281019260010161127a565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611343575b15611306576112e2611bb6565b6112ea611c8b565b9061049f6112f6611db0565b6040519384933091469186611216565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d5565b346105285760203660031901126105285760043561138942612178565b65ffffffffffff81168210156113e7576113aa6113a583612178565b6121da565b6001600160d01b038116156113dd576113c561049f91611e19565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113cd565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142942612178565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f8051602061318583398151915280549061146782611b13565b808552916020916001918281169081156104fb57506001146114935761049f8661049381880382611b95565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d8575050505081016020016104938261049f5f610483565b80548686018401529382019381016114bb565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153b61153661153161052c565b610fef565b61239e565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157a61052c565b6024356001600160401b038111610528575f9161159c83923690600401610616565b90816040519283928337810184815203915af46115db6115ba611dd6565b91610928604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a9611687610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f46116d2610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178861177e61052c565b602435903361202a565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188861052c565b6044359060243560643561189b81611864565b834211611923576119176107949461191e926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118ff82611b7a565b61191260a43593608435935190206123c6565b612455565b918261246d565b61230c565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a9611a2c61052c565b610599611a37610542565b91610fb7565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aee61095c610928610936611aba61052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f805160206131c583398151915260203392a361098e8133611f3e565b90600182811c92168015611b41575b6020831014611b2d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b22565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761083557604052565b60a081019081106001600160401b0382111761083557604052565b90601f801991011681019081106001600160401b0382111761083557604052565b604051905f825f8051602061316583398151915291825492611bd784611b13565b80845293602091600191828116908115611c655750600114611c05575b505050611c0392500383611b95565b565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611c4d5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611c31565b9250505060209250611c0394915060ff191682840152151560051b8201015f8080611bf4565b604051905f825f805160206131a583398151915291825492611cac84611b13565b80845293602091600191828116908115611c655750600114611cd757505050611c0392500383611b95565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611d1f5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611d03565b60405190611c0382611b5f565b6001600160401b03811161083557601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d8182611d44565b92611d8f6040519485611b95565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b03821117610835576040525f8152905f368137565b3d15611e00573d90611de782611d44565b91611df56040519384611b95565b82523d5f602084013e565b606090565b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e05565b8054821015611e4e575f5260205f2001905f90565b600a5480611ebb57505f5b6001600160d01b03811615611eb657600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c7757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e73565b611efd8161239e565b6001600160d01b03811615611f22576001611f189201611e53565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061312583398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0393929081169116612936565b5f805160206131258339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0393929081169116612936565b6001600160a01b039081165f9081525f805160206131258339815191526020526040808220549383168252902054611c0393929082169116612936565b6001600160a01b03808216949392919085156121605782168015612148576001600160a01b0382165f908152600e6020526040902061206d90611ef4565b611ef4565b95848710612119576120aa611c0396976120978560018060a01b03165f52600e60205260405f2090565b90876120a242612178565b910391612e42565b50506001600160a01b0384165f908152600e602052604090206120f9906120d042612178565b6001600160a01b0387165f908152600e6020526040902088906120f290611ef4565b0191612e42565b50506040518581525f805160206131c583398151915290602090a3611fed565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161218b571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c7757565b9060018201809211610c7757565b600a8054915f9280600581116122a5575b5092905b838210612239575050508061220357505f90565b61220c906121be565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122935750925b91906121ef565b93925061229f906121cc565b9161228c565b906122af82612a88565b8203918211610c7757600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122fb57505b5f6121eb565b9350612306906121cc565b926122f5565b611c039161239861206860018060a01b0393848116805f525f8051602061312583398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612936565b8054806123ab5750505f90565b5f19918183810111610c77575f5260205f2001015460301c90565b6123ce612f04565b6123d6612f6e565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b038411176108355760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161246493612c12565b90929192612cb2565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124b8575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561251b573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561254e57565b604051631afcd79f60e31b8152600490fd5b601f811161256c575050565b5f805160206131658339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106125cf575b601f0160051c01905b8181106125c4575050565b5f81556001016125b9565b90915081906125b0565b601f81116125e5575050565b5f805160206131458339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612648575b601f0160051c01905b81811061263d575050565b5f8155600101612632565b9091508190612629565b601f811161265e575050565b5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c830193106126c1575b601f0160051c01905b8181106126b6575050565b5f81556001016126ab565b90915081906126a2565b601f81116126d7575050565b5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061273a575b601f0160051c01905b81811061272f575050565b5f8155600101612724565b909150819061271b565b9081516001600160401b038111610835575f805160206131a583398151915290612777816127728454611b13565b612652565b602080601f83116001146127ac575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b9055565b90601f198316956127ea5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b8882106128255750508360019596971061280d575b505050811b019055565b01515f1960f88460031b161c191690555f8080612803565b806001859682949686015181550195019301906127ee565b9081516001600160401b038111610835575f80516020613185833981519152906128708161286b8454611b13565b6126cb565b602080601f83116001146128a1575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b90601f198316956128df5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106129015750508360019596971061280d57505050811b019055565b806001859682949686015181550195019301906128e3565b5f8061043593602081519101845af4612930611dd6565b91612d3f565b6001600160a01b03808316939291908116908185141580612a61575b61295e575b5050505050565b816129d3575b505082612973575b8080612957565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724916129aa6129a46129b093610fef565b91612da2565b90612dd5565b604080516001600160d01b039384168152919092166020820152a25f808061296c565b6129dc90610fef565b6129e584612da2565b6129ee42612178565b6001600160d01b03918280612a028661239e565b169116900392828411610c77577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a5792612a3e9261300e565b6040805192851683529316602082015291829190820190565b0390a25f80612964565b50831515612952565b8115612a74570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612ba1575b612b49612b3f612b35612b2b612b21612b17612b5597600488600160401b612b509a1015612b94575b640100000000811015612b87575b62010000811015612b7a575b610100811015612b6e575b6010811015612b62575b1015612b5a575b60030260011c612b10818b612a6a565b0160011c90565b612b10818a612a6a565b612b108189612a6a565b612b108188612a6a565b612b108187612a6a565b612b108186612a6a565b8093612a6a565b821190565b900390565b60011b612b00565b811c9160021b91612af9565b60081c91811b91612aef565b60101c9160081b91612ae4565b60201c9160101b91612ad8565b60401c9160201b91612aca565b50600160401b9050608082901c612aa1565b91905b838210612bc35750505090565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff808360205f20015416908416105f14612c005750925b9190612bb6565b939250612c0c906121cc565b91612bf9565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c89579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b44575f516001600160a01b03811615612c7f57905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c9e57565b634e487b7160e01b5f52602160045260245ffd5b612cbb81612c94565b80612cc4575050565b612ccd81612c94565b60018103612ce75760405163f645eedf60e01b8152600490fd5b612cf081612c94565b60028103612d115760405163fce698f760e01b815260048101839052602490fd5b80612d1d600392612c94565b14612d255750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d665750805115612d5457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d99575b612d77575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d6f565b6001600160d01b0390818111612db6571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612ddf42612178565b6001600160d01b03918280612df38661239e565b16911601918211610c775761066d9261300e565b90815491600160401b8310156108355782612e2a916001611c0395018155611e53565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612ed4575b5084612e5f846130eb565b50949092845493612e6f83611ef4565b9681612ebf575b5015612e9c575050505f198101908111610c7757612e2a8591612e9893611e53565b9190565b612e98949293612eb8926001600160d01b03909116919061300e565b5050612e07565b65ffffffffffff83811691161490505f612e76565b600160401b81101561083557806001612ef09201845583611e53565b8154905f199060031b1b191690555f612e54565b612f0c611bb6565b8051908115612f1c576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f495790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612f76611c8b565b8051908115612f86576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f495790565b8054600160401b81101561083557612fd091600182018155611e53565b612ffb57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156130c157613025613030916121be565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116130af57879303613076575061306f92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506130aa91613096613088611d37565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612fb3565b61306f565b604051632520601d60e01b8152600490fd5b50906130e6916130d2613088611d37565b6001600160d01b0385166020830152612fb3565b5f9190565b8054806130fc5750505f905f905f90565b5f19918183810111610c77575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220dc4dc9bfba7557868c323ba1a67051d6df780921ecdd4c4c4d5bdce8146a645064736f6c63430008190033","sourceMap":"983:2869:112:-:0;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;1324:40:110;;983:2869:112;;;;;;;;1324:40:110;983:2869:112;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;983:2869:112","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436106124e3575f3560e01c806306fdde03146103fb578063095ea7b3146103f65780630eac105e146103f15780631415519b146103ec57806318160ddd146103e75780631b66c9e1146103e25780631e9a6950146103dd57806323b872dd146103d85780632749f9c4146103d357806327810b6e146103ce5780632fa27fae146103c9578063313ce567146103c457806331d9736c146103bf5780633a46b1a8146103ba57806347e7ef24146103b557806348d3b775146103b05780634bf5d7e9146103ab57806350861adc146103a6578063587cde1e146103a15780635a36aa741461039c5780635c19a95c146103975780635cc070761461039257806361819dd81461038d578063653b04cd1461038857806365d61c6c146103835780636e0f24551461037e5780636ec1e3f81461037957806370a0823114610374578063794b15b71461036f5780637bd00ae81461036a5780637ecebe001461036557806384b0196e146103605780638e539e8c1461035b57806391ddadf41461035657806395d89b411461035157806398ccba4a1461034c5780639ab24eb0146103475780639b4bae3e146103425780639f86fd851461033d5780639f9962dd14610338578063a1b1220214610333578063a21a1df91461032e578063a3b5417214610329578063a5d0322314610324578063a66b3a731461031f578063a8b24f9a1461031a578063a9059cbb14610315578063afba70ad14610310578063b13442711461030b578063bba6ff4a14610306578063bc46f72214610301578063c1bc6f51146102fc578063c3cda520146102f7578063c4db46fc146102f2578063cc52aee7146102ed578063ce9b7930146102e8578063d8dfeb45146102e3578063db388715146102de578063dd62ed3e146102d9578063e945da7f146102d4578063ecc98f05146102cf578063ecf70858146102ca5763f3fef3a3036124e357611a95565b611a78565b611a5a565b611a3d565b611a0e565b6119d4565b6119a9565b611981565b611959565b61193c565b61186f565b61183c565b611802565b6117e5565b6117bd565b611793565b611762565b61173a565b611700565b6116b2565b611669565b61162f565b61160b565b6115e3565b611561565b611544565b611508565b6114eb565b611439565b61140e565b61136c565b61129c565b6111bf565b611064565b611027565b610f80565b610f5b565b610f36565b610f11565b610ed7565b610e9d565b610e73565b610e51565b610e29565b610de4565b610dbf565b610d71565b610d50565b610ca5565b610b83565b610b49565b610ab2565b610a92565b610a6a565b610a4d565b61099f565b6108d0565b610896565b610874565b61083a565b610671565b610558565b610438565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b906020610435928181520190610400565b90565b34610528575f366003190112610528576040515f5f8051602061314583398151915280549061046682611b13565b808552916020916001918281169081156104fb57506001146104a3575b61049f8661049381880382611b95565b60405191829182610424565b0390f35b5f90815293507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab05b8385106104e8575050505081016020016104938261049f5f610483565b80548686018401529382019381016104cb565b905086955061049f9693506020925061049394915060ff191682840152151560051b82010192935f610483565b5f80fd5b600435906001600160a01b038216820361052857565b602435906001600160a01b038216820361052857565b346105285760403660031901126105285761057161052c565b60243533156105fe576001600160a01b0382169182156105e6576105ae829161059933610fb7565b9060018060a01b03165f5260205260405f2090565b556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b604051634a1406b160e11b81525f6004820152602490fd5b60405163e602df0560e01b81525f6004820152602490fd5b9181601f84011215610528578235916001600160401b038311610528576020838186019501011161052857565b602060031982011261052857600435906001600160401b0382116105285761066d91600401610616565b9091565b346105285761067f36610643565b505060405161068d81611b5f565b600a8152602090695661756c74566f74657360b01b6020820152604051906106b482611b5f565b60019260018352603160f81b60208401526106cd61251f565b6106d561251f565b8151906001600160401b038211610835575f8051602061316583398151915292610708836107038654611b13565b612560565b602091601f84116001146107a15750610744955061073d92915f9183610796575b50508160011b915f199060031b1c19161790565b9055612744565b61076c5f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10055565b6107945f7fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10155565b005b015190505f80610729565b5f805160206131658339815191525f529195601f198416907f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d935f915b83831061081e57505050958392916001946107449810610806575b505050811b019055612744565b01515f1960f88460031b161c191690555f80806107f9565b848a015186559881019894850194918101916107de565b611b4b565b34610528575f3660031901126105285760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b34610528575f36600319011261052857602061088e611e68565b604051908152f35b34610528575f3660031901126105285760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346105285760403660031901126105285761098e61093661096b61095c6108f561052c565b6040516301e9a69560e41b60208201526001600160a01b0390911660248281019190915235604482018190529381606481015b03601f198101835282611b95565b7f0000000000000000000000000000000000000000000000000000000000000000612919565b60208082518301019101611f28565b9290915f6040518281525f805160206131c583398151915260203392a333611f3e565b604080519182526020820192909252f35b34610528576060366003190112610528576109b861052c565b6109c0610542565b604435906109d13361059985610fb7565b5492600184016109f2575b6109e6935061202a565b60405160018152602090f35b828410610a27576001600160a01b038116156105fe5733156105e657826109e69403610a213361059984610fb7565b556109dc565b604051637dc7a0d960e11b81523360048201526024810185905260448101849052606490fd5b34610528575f366003190112610528576020601454604051908152f35b34610528575f366003190112610528576001546040516001600160a01b039091168152602090f35b34610528575f36600319011261052857602060015460d01c604051908152f35b34610528575f366003190112610528575f5460405163313ce56760e01b8152906020908290600490829060101c6001600160a01b03165afa8015610b44575f90610b07575b60405160ff919091168152602090f35b506020813d602011610b3c575b81610b2160209383611b95565b810103126105285761049f9051610b3781611864565b610af7565b3d9150610b14565b611d5f565b34610528575f3660031901126105285760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b3461052857604036600319011261052857610b9c61052c565b60243590610ba942612178565b9065ffffffffffff91828116841015610c7c5750610bc9610bcf91610fef565b92612178565b8254905f908260058111610c2e575b50610bea935084612bb3565b9081610c1157505061049f5f5b6040516001600160d01b0390911681529081906020820190565b610c1d61049f926121be565b905f5260205f20015460301c610bf7565b9092610c3982612a88565b8203918211610c7757610bea94865f52808360205f20015416908516105f14610c655750915b5f610bde565b929150610c71906121cc565b90610c5f565b6121aa565b604051637669fc0f60e11b81526004810185905265ffffffffffff919091166024820152604490fd5b3461052857604036600319011261052857610cbe61052c565b6040516311f9fbc960e21b60208201526001600160a01b038216602480830191909152356044820152610cfc9061095c906109368160648101610928565b916040518381525f5f805160206131c5833981519152602060018060a01b03851693a36001600160d01b03610d2f611e68565b11610d3e578261098e91611f97565b604051630a84eab560e11b8152600490fd5b34610528575f36600319011261052857602060ff5f54166040519015158152f35b34610528575f3660031901126105285761049f604051610d9081611b5f565b600e81526d06d6f64653d74696d657374616d760941b6020820152604051918291602083526020830190610400565b34610528575f36600319011261052857602060ff60025460a01c166040519015158152f35b346105285760203660031901126105285760206001600160a01b0380610e0861052c565b165f525f80516020613125833981519152825260405f205416604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460301c16604051908152f35b3461052857602036600319011261052857610794610e6d61052c565b3361230c565b34610528576020366003190112610528576004355f526006602052602060405f2054604051908152f35b34610528575f3660031901126105285760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b34610528575f3660031901126105285760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b34610528575f36600319011261052857602060ff60165460a01c166040519015158152f35b34610528575f36600319011261052857602065ffffffffffff60135416604051908152f35b34610528575f36600319011261052857602060ff60035460a01c166040519015158152f35b34610528576020366003190112610528576001600160a01b03610fa161052c565b165f52600e602052602061088e60405f20611ef4565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b6001600160a01b03165f9081527fe8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d016020526040902090565b34610528576020366003190112610528576001600160a01b0361104861052c565b165f526005602052602060ff60405f2054166040519015158152f35b346105285761107236610643565b8101604082820312610528576001600160401b03918035838111610528578261109c918301611d6a565b906020926020820135858111610528576110b69201611d6a565b916110bf61251f565b6110c761251f565b8151938411610835575f80516020613145833981519152916110f2856110ed8554611b13565b6125d9565b602091601f861160011461112c5750938061112592610794965f926107965750508160011b915f199060031b1c19161790565b905561283d565b5f805160206131458339815191525f529190601f1986167f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0935f905b8282106111a757505091600193918761079498941061118f575b505050811b01905561283d565b01515f1960f88460031b161c191690555f8080611182565b80600186978294978701518155019601940190611168565b34610528576020366003190112610528576001600160a01b036111e061052c565b165f527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb00602052602060405f2054604051908152f35b9161124a90949194600f60f81b845261123c60209660e0602087015260e0860190610400565b908482036040860152610400565b92606083015260018060a01b031660808201525f60a082015260c0818303910152602080845192838152019301915f5b828110611288575050505090565b83518552938101939281019260010161127a565b34610528575f366003190112610528577fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100541580611343575b15611306576112e2611bb6565b6112ea611c8b565b9061049f6112f6611db0565b6040519384933091469186611216565b60405162461bcd60e51b81526020600482015260156024820152741152540dcc4c8e88155b9a5b9a5d1a585b1a5e9959605a1b6044820152606490fd5b507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10154156112d5565b346105285760203660031901126105285760043561138942612178565b65ffffffffffff81168210156113e7576113aa6113a583612178565b6121da565b6001600160d01b038116156113dd576113c561049f91611e19565b90549060031b1c5b6040519081529081906020820190565b5061049f5f6113cd565b604051637669fc0f60e11b8152600481019290925265ffffffffffff166024820152604490fd5b34610528575f36600319011261052857602061142942612178565b65ffffffffffff60405191168152f35b34610528575f366003190112610528576040515f5f8051602061318583398151915280549061146782611b13565b808552916020916001918281169081156104fb57506001146114935761049f8661049381880382611b95565b5f90815293507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa5b8385106114d8575050505081016020016104938261049f5f610483565b80548686018401529382019381016114bb565b34610528575f366003190112610528576020601254604051908152f35b346105285760203660031901126105285760206001600160d01b0361153b61153661153161052c565b610fef565b61239e565b16604051908152f35b34610528575f366003190112610528576020601154604051908152f35b346105285760403660031901126105285761157a61052c565b6024356001600160401b038111610528575f9161159c83923690600401610616565b90816040519283928337810184815203915af46115db6115ba611dd6565b91610928604051938492151560208401526040808401526060830190610400565b805190602001fd5b34610528575f36600319011261052857602065ffffffffffff60015460a01c16604051908152f35b34610528575f36600319011261052857602060ff5f5460081c166040519015158152f35b34610528575f3660031901126105285760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346105285760403660031901126105285760206116a9611687610542565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b3461052857604036600319011261052857602060ff6116f46116d2610542565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b34610528575f3660031901126105285760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b34610528575f366003190112610528576016546040516001600160a01b039091168152602090f35b346105285760403660031901126105285761178861177e61052c565b602435903361202a565b602060405160018152f35b34610528576020366003190112610528576004355f526007602052602060405f2054604051908152f35b34610528575f366003190112610528576003546040516001600160a01b039091168152602090f35b34610528575f366003190112610528576020600f54604051908152f35b34610528575f3660031901126105285760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b34610528575f36600319011261052857602065ffffffffffff60135460901c16604051908152f35b60ff81160361052857565b346105285760c03660031901126105285761188861052c565b6044359060243560643561189b81611864565b834211611923576119176107949461191e926040519060208201927fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf845260018060a01b03881660408401528660608401526080830152608082526118ff82611b7a565b61191260a43593608435935190206123c6565b612455565b918261246d565b61230c565b604051632341d78760e11b815260048101859052602490fd5b34610528575f366003190112610528576020601054604051908152f35b34610528575f36600319011261052857602065ffffffffffff60135460601c16604051908152f35b34610528575f366003190112610528576002546040516001600160a01b039091168152602090f35b34610528575f366003190112610528575f5460405160109190911c6001600160a01b03168152602090f35b34610528575f3660031901126105285760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346105285760403660031901126105285760206116a9611a2c61052c565b610599611a37610542565b91610fb7565b34610528575f366003190112610528576020601554604051908152f35b34610528575f366003190112610528576020604051633b9aca008152f35b34610528575f366003190112610528576020600454604051908152f35b3461052857604036600319011261052857611aee61095c610928610936611aba61052c565b60405163f3fef3a360e01b60208201526001600160a01b039091166024808301919091523560448201529182906064820190565b905f6040518281525f805160206131c583398151915260203392a361098e8133611f3e565b90600182811c92168015611b41575b6020831014611b2d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611b22565b634e487b7160e01b5f52604160045260245ffd5b604081019081106001600160401b0382111761083557604052565b60a081019081106001600160401b0382111761083557604052565b90601f801991011681019081106001600160401b0382111761083557604052565b604051905f825f8051602061316583398151915291825492611bd784611b13565b80845293602091600191828116908115611c655750600114611c05575b505050611c0392500383611b95565b565b5f9081527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d9590935091905b828410611c4d5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611c31565b9250505060209250611c0394915060ff191682840152151560051b8201015f8080611bf4565b604051905f825f805160206131a583398151915291825492611cac84611b13565b80845293602091600191828116908115611c655750600114611cd757505050611c0392500383611b95565b5f9081527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b759590935091905b828410611d1f5750611c039450505081016020015f8080611bf4565b85548885018301529485019487945092810192611d03565b60405190611c0382611b5f565b6001600160401b03811161083557601f01601f191660200190565b6040513d5f823e3d90fd5b81601f8201121561052857803590611d8182611d44565b92611d8f6040519485611b95565b8284526020838301011161052857815f926020809301838601378301015290565b604051602081018181106001600160401b03821117610835576040525f8152905f368137565b3d15611e00573d90611de782611d44565b91611df56040519384611b95565b82523d5f602084013e565b606090565b634e487b7160e01b5f52603260045260245ffd5b600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db901905f90565b611e05565b8054821015611e4e575f5260205f2001905f90565b600a5480611ebb57505f5b6001600160d01b03811615611eb657600b54811015611e4e57600b5f527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9015490565b505f90565b805f19810111610c7757600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7015460301c611e73565b611efd8161239e565b6001600160d01b03811615611f22576001611f189201611e53565b90549060031b1c90565b50505f90565b9190826040910312610528576020825192015190565b6001600160a01b039081165f9081525f8051602061312583398151915260205260408120549080527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f97454611c0393929081169116612936565b5f805160206131258339815191526020527fd4fb29e10204005f1a39963c6862b79a755e22f0177c53f05cdc3786c702f974546001600160a01b039182165f9081526040902054611c0393929081169116612936565b6001600160a01b039081165f9081525f805160206131258339815191526020526040808220549383168252902054611c0393929082169116612936565b6001600160a01b03808216949392919085156121605782168015612148576001600160a01b0382165f908152600e6020526040902061206d90611ef4565b611ef4565b95848710612119576120aa611c0396976120978560018060a01b03165f52600e60205260405f2090565b90876120a242612178565b910391612e42565b50506001600160a01b0384165f908152600e602052604090206120f9906120d042612178565b6001600160a01b0387165f908152600e6020526040902088906120f290611ef4565b0191612e42565b50506040518581525f805160206131c583398151915290602090a3611fed565b60405163391434e360e21b81526001600160a01b03841660048201526024810188905260448101869052606490fd5b60405163ec442f0560e01b81525f6004820152602490fd5b604051634b637e8f60e11b81525f6004820152602490fd5b65ffffffffffff9081811161218b571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fd5b634e487b7160e01b5f52601160045260245ffd5b5f19810191908211610c7757565b9060018201809211610c7757565b600a8054915f9280600581116122a5575b5092905b838210612239575050508061220357505f90565b61220c906121be565b600a5f527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015460301c90565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122935750925b91906121ef565b93925061229f906121cc565b9161228c565b906122af82612a88565b8203918211610c7757600a5f5265ffffffffffff80837fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8015416908416105f146122fb57505b5f6121eb565b9350612306906121cc565b926122f5565b611c039161239861206860018060a01b0393848116805f525f8051602061312583398151915260205260405f2095865491818316978892881680946bffffffffffffffffffffffff60a01b161790557f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f5f80a46001600160a01b03165f908152600e6020526040902090565b91612936565b8054806123ab5750505f90565b5f19918183810111610c77575f5260205f2001015460301c90565b6123ce612f04565b6123d6612f6e565b916040519260208401927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604085015260608401524660808401523060a084015260a0835260c08301918383106001600160401b038411176108355760429360e291846040528151902061190160f01b855260c282015201522090565b91610435939161246493612c12565b90929192612cb2565b6001600160a01b0381165f9081527f5ab42ced628888259c08ac98db1eb0cf702fc1501344311d8b100cd1bfe4bb0060205260409020805460018101909155918290036124b8575050565b6040516301d4b62360e61b81526001600160a01b039190911660048201526024810191909152604490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e1561251b573d5ff35b3d5ffd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561254e57565b604051631afcd79f60e31b8152600490fd5b601f811161256c575050565b5f805160206131658339815191525f527f42ad5d3e1f2e6e70edcf6d991b8a3023d3fca8047a131592f9edb9fd9b89d57d906020601f840160051c830193106125cf575b601f0160051c01905b8181106125c4575050565b5f81556001016125b9565b90915081906125b0565b601f81116125e5575050565b5f805160206131458339815191525f527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0906020601f840160051c83019310612648575b601f0160051c01905b81811061263d575050565b5f8155600101612632565b9091508190612629565b601f811161265e575050565b5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b75906020601f840160051c830193106126c1575b601f0160051c01905b8181106126b6575050565b5f81556001016126ab565b90915081906126a2565b601f81116126d7575050565b5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa906020601f840160051c8301931061273a575b601f0160051c01905b81811061272f575050565b5f8155600101612724565b909150819061271b565b9081516001600160401b038111610835575f805160206131a583398151915290612777816127728454611b13565b612652565b602080601f83116001146127ac575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b9055565b90601f198316956127ea5f805160206131a58339815191525f527f5f9ce34815f8e11431c7bb75a8e6886a91478f7ffc1dbb0a98dc240fddd76b7590565b925f905b8882106128255750508360019596971061280d575b505050811b019055565b01515f1960f88460031b161c191690555f8080612803565b806001859682949686015181550195019301906127ee565b9081516001600160401b038111610835575f80516020613185833981519152906128708161286b8454611b13565b6126cb565b602080601f83116001146128a1575081906127a89394955f926107965750508160011b915f199060031b1c19161790565b90601f198316956128df5f805160206131858339815191525f527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa90565b925f905b8882106129015750508360019596971061280d57505050811b019055565b806001859682949686015181550195019301906128e3565b5f8061043593602081519101845af4612930611dd6565b91612d3f565b6001600160a01b03808316939291908116908185141580612a61575b61295e575b5050505050565b816129d3575b505082612973575b8080612957565b7fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724916129aa6129a46129b093610fef565b91612da2565b90612dd5565b604080516001600160d01b039384168152919092166020820152a25f808061296c565b6129dc90610fef565b6129e584612da2565b6129ee42612178565b6001600160d01b03918280612a028661239e565b169116900392828411610c77577fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493612a5792612a3e9261300e565b6040805192851683529316602082015291829190820190565b0390a25f80612964565b50831515612952565b8115612a74570490565b634e487b7160e01b5f52601260045260245ffd5b600181111561043557600181600160801b811015612ba1575b612b49612b3f612b35612b2b612b21612b17612b5597600488600160401b612b509a1015612b94575b640100000000811015612b87575b62010000811015612b7a575b610100811015612b6e575b6010811015612b62575b1015612b5a575b60030260011c612b10818b612a6a565b0160011c90565b612b10818a612a6a565b612b108189612a6a565b612b108188612a6a565b612b108187612a6a565b612b108186612a6a565b8093612a6a565b821190565b900390565b60011b612b00565b811c9160021b91612af9565b60081c91811b91612aef565b60101c9160081b91612ae4565b60201c9160101b91612ad8565b60401c9160201b91612aca565b50600160401b9050608082901c612aa1565b91905b838210612bc35750505090565b9091928083169080841860011c8201809211610c7757845f5265ffffffffffff808360205f20015416908416105f14612c005750925b9190612bb6565b939250612c0c906121cc565b91612bf9565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612c89579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15610b44575f516001600160a01b03811615612c7f57905f905f90565b505f906001905f90565b5050505f9160039190565b60041115612c9e57565b634e487b7160e01b5f52602160045260245ffd5b612cbb81612c94565b80612cc4575050565b612ccd81612c94565b60018103612ce75760405163f645eedf60e01b8152600490fd5b612cf081612c94565b60028103612d115760405163fce698f760e01b815260048101839052602490fd5b80612d1d600392612c94565b14612d255750565b6040516335e2f38360e21b81526004810191909152602490fd5b90612d665750805115612d5457805190602001fd5b60405163d6bda27560e01b8152600490fd5b81511580612d99575b612d77575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b15612d6f565b6001600160d01b0390818111612db6571690565b604490604051906306dfcc6560e41b825260d060048301526024820152fd5b90612ddf42612178565b6001600160d01b03918280612df38661239e565b16911601918211610c775761066d9261300e565b90815491600160401b8310156108355782612e2a916001611c0395018155611e53565b90919082549060031b91821b915f19901b1916179055565b90929192600182019081548015612ed4575b5084612e5f846130eb565b50949092845493612e6f83611ef4565b9681612ebf575b5015612e9c575050505f198101908111610c7757612e2a8591612e9893611e53565b9190565b612e98949293612eb8926001600160d01b03909116919061300e565b5050612e07565b65ffffffffffff83811691161490505f612e76565b600160401b81101561083557806001612ef09201845583611e53565b8154905f199060031b1b191690555f612e54565b612f0c611bb6565b8051908115612f1c576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d100548015612f495790565b507fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47090565b612f76611c8b565b8051908115612f86576020012090565b50507fa16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d101548015612f495790565b8054600160401b81101561083557612fd091600182018155611e53565b612ffb57815160209092015160301b65ffffffffffff191665ffffffffffff92909216919091179055565b634e487b7160e01b5f525f60045260245ffd5b805492939280156130c157613025613030916121be565b825f5260205f200190565b9182549265ffffffffffff918285169281168084116130af57879303613076575061306f92509065ffffffffffff82549181199060301b169116179055565b60301c9190565b9150506130aa91613096613088611d37565b65ffffffffffff9093168352565b6001600160d01b0386166020830152612fb3565b61306f565b604051632520601d60e01b8152600490fd5b50906130e6916130d2613088611d37565b6001600160d01b0385166020830152612fb3565b5f9190565b8054806130fc5750505f905f905f90565b5f19918183810111610c77575f5260205f2001015460019165ffffffffffff82169160301c9056fee8b26c30fad74198956032a3533d903385d56dd795af560196f9c78d4af40d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace03a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d10252c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace04a16a46d94261c7517cc8ff89f61c0ce93598e3c849801011dee649a6a557d103ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa2646970667358221220dc4dc9bfba7557868c323ba1a67051d6df780921ecdd4c4c4d5bdce8146a645064736f6c63430008190033","sourceMap":"983:2869:112:-:0;;;;;;2603:64:50;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;983:2869:112;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;-1:-1:-1;;983:2869:112;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;-1:-1:-1;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;:::o;:::-;;;;-1:-1:-1;;;;;983:2869:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;966:10:28;11141:19:27;11137:89;;-1:-1:-1;;;;;983:2869:112;;;11239:21:27;;11235:90;;11334:29;966:10:28;;11334:20:27;966:10:28;11334:20:27;:::i;:::-;983:2869:112;;;;;;;;;;;;;;;;11334:29:27;983:2869:112;;;;;;11415:31:27;983:2869:112;966:10:28;11415:31:27;;983:2869:112;;;10117:4:27;983:2869:112;;;11235:90:27;983:2869:112;;-1:-1:-1;;;11283:31:27;;-1:-1:-1;11283:31:27;;;983:2869:112;;;11283:31:27;11137:89;983:2869:112;;-1:-1:-1;;;11183:32:27;;11158:1;11183:32;;;983:2869:112;;;11183:32:27;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;983:2869:112;;;;6893:76:26;;:::i;:::-;;;:::i;:::-;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;983:2869:112;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3875:17:31;983:2869:112;2806:64:31;983:2869:112;;3875:17:31;3902:20;983:2869:112;3902:16:31;983:2869:112;;3902:20:31;983:2869:112;;;;;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;;757:38:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;1732:22:110;;:::i;:::-;983:2869:112;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;612:37:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;3093:6;3078:48:110;3013:156;3037:90;983:2869:112;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;3078:48:110;;;-1:-1:-1;;;;;983:2869:112;;;;3078:48:110;;;983:2869:112;;;;;;;;;;;;;;;;3078:48:110;;983:2869:112;;3078:48:110;;;;;;:::i;:::-;3037:19;:90;:::i;:::-;983:2869:112;;;;3013:156:110;;;;;;:::i;:::-;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;3194:10:110;3185:40;;3194:10;3093:6:112;:::i;:::-;983:2869;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;:::i;:::-;;;966:10:28;4867:29:27;966:10:28;4867:20:27;;;:::i;:29::-;983:2869:112;;11910:37:27;;;11906:310;;983:2869:112;6198:5:27;;;;:::i;:::-;983:2869:112;;4867:13:27;983:2869:112;;;;;11906:310:27;11967:24;;;11963:130;;-1:-1:-1;;;;;983:2869:112;;11141:19:27;11137:89;;966:10:28;11239:21:27;11235:90;;983:2869:112;6198:5:27;983:2869:112;;11334:29:27;966:10:28;11334:20:27;;;:::i;:29::-;983:2869:112;11906:310:27;;11963:130;983:2869:112;;-1:-1:-1;;;12018:60:27;;966:10:28;983:2869:112;12018:60:27;;983:2869:112;;;;;;;;;;;;;;;12018:60:27;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;3788:34:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;2129:28:108;983:2869:112;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;-1:-1:-1;;;1535:37:110;;983:2869:112;1535:37:110;;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;1535:37:110;;;;;;983:2869:112;1535:37:110;;;983:2869:112;;;;;;;;;;;;;1535:37:110;;;;;;;;;;;;;;;;:::i;:::-;;;983:2869:112;;;;;;;;;;:::i;:::-;1535:37:110;;;;;-1:-1:-1;1535:37:110;;;;:::i;983:2869:112:-;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1479:40:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;837:15:73;819:34;837:15;819:34;:::i;:::-;983:2869:112;;;;;;5077:29:25;;;5073:115;;5204:31;;5254:28;5204:31;;:::i;:::-;5254:28;;:::i;:::-;983:2869:112;;9737:15:71;-1:-1:-1;9762:18:71;;9801:1;9795:7;;9791:234;;983:2869:112;10049:53:71;;;;;;:::i;:::-;10120:63;:8;;;:63;;983:2869:112;-1:-1:-1;10120:63:71;983:2869:112;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;10120:63:71;10168:7;983:2869:112;10168:7:71;;:::i;:::-;14439:109;-1:-1:-1;14439:109:71;;-1:-1:-1;14439:109:71;;983:2869:112;;;10120:63:71;;9791:234;9838:14;;;;;:::i;:::-;983:2869:112;;;;;;;10049:53:71;14439:109;;-1:-1:-1;14439:109:71;;;;-1:-1:-1;14439:109:71;;983:2869:112;;;;;9870:48:71;9866:149;983:2869:112;;;9938:10:71;9866:149;;9791:234;;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;;;983:2869:112;;:::i;5073:115:25:-;983:2869:112;;-1:-1:-1;;;5129:48:25;;983:2869:112;5129:48:25;;983:2869:112;;;;;;;;;;;;;;12018:60:27;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;2242:52:110;;;-1:-1:-1;;;;;983:2869:112;;;2242:52:110;;;983:2869:112;;;;;;;;;2177:160:110;;2201:94;;2242:52;983:2869:112;;;;2242:52:110;983:2869:112;2177:160:110;983:2869:112;;;;;;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;2353:46:110;;-1:-1:-1;;;;;2348:22:112;;:::i;:::-;:42;2344:100;;2499:12;;;;:::i;2344:100::-;983:2869;;-1:-1:-1;;;2413:20:112;;983:2869;;2413:20;983:2869;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;2293:34:108;983:2869:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;;;;;983:2869:112;;;:::i;:::-;;-1:-1:-1;983:2869:112;-1:-1:-1;;;;;;;;;;;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;3667:32:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;7028:9:25;983:2869:112;;:::i;:::-;966:10:28;7028:9:25;:::i;983:2869:112:-;;;;;;-1:-1:-1;;983:2869:112;;;;;;-1:-1:-1;983:2869:112;2756:59:108;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1041:36:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1714:45:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;4048:28:108;983:2869:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;3624:36:108;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;2461:32:108;983:2869:112;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;:::i;:::-;;-1:-1:-1;983:2869:112;1941:15:110;983:2869:112;;;1941:33:110;983:2869:112;-1:-1:-1;983:2869:112;1941:33:110;:::i;983:2869:112:-;-1:-1:-1;;;;;983:2869:112;;;;;4867:13:27;983:2869:112;;;;;;:::o;:::-;-1:-1:-1;;;;;983:2869:112;;;;;5204:22:25;983:2869:112;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;:::i;:::-;;-1:-1:-1;983:2869:112;2632:68:108;983:2869:112;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;:::i;:::-;4846:34:110;;983:2869:112;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;6893:76:26;;;:::i;:::-;;;:::i;:::-;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;2600:7:27;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;:::i;:::-;;-1:-1:-1;983:2869:112;972:64:29;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2806:64:31;983:2869:112;5777:18:31;:43;;;983:2869:112;;;;;;:::i;:::-;;;:::i;:::-;6043:16:31;983:2869:112;6043:16:31;;:::i;:::-;983:2869:112;;6000:4:31;;;;5965:13;;983:2869:112;;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;-1:-1:-1;;;983:2869:112;;;;;;;5777:43:31;983:2869:112;5799:16:31;983:2869:112;5799:21:31;5777:43;;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;;819:34:73;837:15;819:34;:::i;:::-;983:2869:112;;;1908:29;;;1904:115;;7117:34:94;2067:28:112;;;:::i;:::-;7117:34:94;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;7168:7:94;983:2869:112;;7178:17:94;983:2869:112;7178:17:94;;:::i;:::-;983:2869:112;;;;;;7168:31:94;983:2869:112;;;;;;;;;;;;;7168:31:94;;983:2869:112;-1:-1:-1;7168:31:94;;1904:115:112;983:2869;;-1:-1:-1;;;1960:48:112;;983:2869;1960:48;;983:2869;;;;;;;;;;;;12018:60:27;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;819:34:73;837:15;819:34;:::i;:::-;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;983:2869:112;;;;;;;-1:-1:-1;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;3575:42:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;;;;;4439:40:25;:31;983:2869:112;;:::i;:::-;4439:31:25;:::i;:::-;:40;:::i;:::-;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;3530:38:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;983:2869:112;;;;;;;;;;477:31:86;;983:2869:112;;;;;;;;;;;:::i;477:31:86:-;518:79;;;983:2869:112;518:79:86;;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;;2090:32:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;900:35:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;2991:94:108;983:2869:112;;:::i;:::-;;;-1:-1:-1;983:2869:112;2991:94:108;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;2991:94:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;3141:92:108;983:2869:112;;:::i;:::-;;;-1:-1:-1;983:2869:112;3141:92:108;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;3141:92:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1187:40:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;3961:31:108;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;4616:5:27;983:2869:112;;:::i;:::-;;;966:10:28;;4616:5:27;:::i;:::-;983:2869:112;;;4639:4:27;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;-1:-1:-1;983:2869:112;2871:64:108;983:2869:112;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2383:22:108;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;3426:43:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1333:36:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;3749:32:108;983:2869:112;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;-1:-1:-1;;983:2869:112;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;7310:15:25;;:24;7306:91;;7423:168;7660:9;983:2869:112;7626:5:25;983:2869:112;;;7477:57:25;983:2869:112;7477:57:25;;983:2869:112;2345:71:25;983:2869:112;;;;;;;;;;2345:71:25;;983:2869:112;2345:71:25;983:2869:112;2345:71:25;;983:2869:112;;2345:71:25;;983:2869:112;;7477:57:25;;;;;:::i;:::-;7450:86;983:2869:112;;;;;;;7467:68:25;;7450:86;:::i;:::-;7423:168;:::i;:::-;7626:5;;;:::i;:::-;7660:9;:::i;7306:91::-;983:2869:112;;-1:-1:-1;;;7357:29:25;;983:2869:112;7357:29:25;;983:2869:112;;;;;7357:29:25;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;;3476:47:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;3706:36:108;983:2869:112;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2213:24:108;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;466:39:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;4867:29:27;983:2869:112;;:::i;:::-;4867:20:27;983:2869:112;;:::i;:::-;4867:20:27;;:::i;983:2869:112:-;;;;;;-1:-1:-1;;983:2869:112;;;;;3878:27:108;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;1616:3:108;983:2869:112;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;2594:158:110;2618:92;2659:50;;983:2869:112;;:::i;:::-;;;-1:-1:-1;;;983:2869:112;2659:50:110;;;-1:-1:-1;;;;;983:2869:112;;;;2659:50:110;;;983:2869:112;;;;;;;;;;;;;;;;;2594:158:110;983:2869:112;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;2777:10:110;2768:46;;2795:12:112;2777:10:110;;2795:12:112;:::i;983:2869::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;:::o;:::-;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;:::o;:::-;;;;-1:-1:-1;6441:7:31;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:::o;:::-;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6826:10:31;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;983:2869:112;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;;;;-1:-1:-1;;983:2869:112;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;983:2869:112;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;7178:12:94;983:2869:112;;;;;;7178:12:94;-1:-1:-1;983:2869:112;;;;-1:-1:-1;983:2869:112;:::o;:::-;;:::i;:::-;;;;;;;;-1:-1:-1;983:2869:112;;-1:-1:-1;983:2869:112;;;-1:-1:-1;983:2869:112;:::o;10580:184:94:-;1732:13:110;983:2869:112;10446:8:71;;;:63;-1:-1:-1;10446:63:71;-1:-1:-1;;;;;983:2869:112;;10726:7:94;983:2869:112;;10736:12:94;983:2869:112;;;;;;10736:12:94;-1:-1:-1;983:2869:112;;;;10580:184:94;:::o;10726:31::-;;-1:-1:-1;10580:184:94;:::o;10446:63:71:-;983:2869:112;;;;;;;;1732:13:110;-1:-1:-1;14439:109:71;;;983:2869:112;;;10446:63:71;;10580:184:94;10689:20;;;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;10726:7:94;983:2869:112;;10736:12:94;:17;:12;;:17;:::i;:::-;983:2869:112;;;;;;10580:184:94;:::o;10726:31::-;;;10689:11;10580:184;:::o;983:2869:112:-;;;;;;;;;;;;;;;;;:::o;3342:165::-;-1:-1:-1;;;;;983:2869:112;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;3342:165::-;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;3342:165::-;-1:-1:-1;;;;;983:2869:112;;;-1:-1:-1;983:2869:112;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;3493:6;;3342:165;983:2869;;;;;3493:6;:::i;6605:300:27:-;-1:-1:-1;;;;;983:2869:112;;;;6605:300:27;;;;6688:18;;6684:86;;983:2869:112;;6783:16:27;;6779:86;;-1:-1:-1;;;;;983:2869:112;;;;;;1941:15:110;983:2869:112;;;;;1941:33:110;;;:::i;:24::-;:33;:::i;:::-;3669:19;;;;3665:115;;3900:65;3271:5:112;3900:21:110;;;;983:2869:112;;;;;;;;1941:15:110;983:2869:112;;;;;;;3900:21:110;837:15:73;;819:34;837:15;819:34;:::i;:::-;983:2869:112;;3900:65:110;;:::i;:::-;-1:-1:-1;;;;;;;983:2869:112;;;;;;1941:15:110;983:2869:112;;;;;4416:65:110;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;;;;1941:15:110;983:2869:112;;;;;1941:24:110;;:33;;;:::i;:::-;983:2869:112;4416:65:110;;:::i;:::-;-1:-1:-1;;983:2869:112;;;;;-1:-1:-1;;;;;;;;;;;4521:25:110;983:2869:112;;4521:25:110;3271:5:112;:::i;3665:115:110:-;983:2869:112;;-1:-1:-1;;;3715:50:110;;-1:-1:-1;;;;;983:2869:112;;3715:50:110;;;983:2869:112;;;;;;;;;;;;;;;12018:60:27;6779:86;983:2869:112;;-1:-1:-1;;;6822:32:27;;6704:1;6822:32;;;983:2869:112;;;6822:32:27;6684:86;983:2869:112;;-1:-1:-1;;;6729:30:27;;6704:1;6729:30;;;983:2869:112;;;6729:30:27;14296:213:69;983:2869:112;14374:24:69;;;;14370:103;;983:2869:112;14296:213:69;:::o;14370:103::-;983:2869:112;;;;14421:41:69;;;;;;14452:2;14421:41;;;983:2869:112;;;;;14421:41:69;983:2869:112;;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;:::o;:::-;;9999:1:71;983:2869:112;;;;;;;:::o;9584:606:71:-;2035:13:112;;983:2869;9737:15:71;9702:17;9762:18;;9801:1;9795:7;;9791:234;;9584:606;10049:53;;13105:230;13112:10;;;;;;-1:-1:-1;;;10120:8:71;;;:63;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;2035:13:112;9702:17:71;14439:109;;;983:2869:112;;;9584:606:71;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;983:2869:112;;;;;;;;;14439:109:71;9702:17;14439:109;983:2869:112;14439:109:71;;;;983:2869:112;;;;;-1:-1:-1;13189:136:71;983:2869:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;9791:234;9838:14;;;;:::i;:::-;983:2869:112;;;;;;;2035:13;9702:17:71;14439:109;983:2869:112;14439:109:71;;;;983:2869:112;;;;;9870:48:71;9866:149;983:2869:112;;;9938:10:71;9866:149;9791:234;;;9866:149;9993:7;;;;;:::i;:::-;9866:149;;;7855:367:25;8190:24;7855:367;1941:33:110;:24;983:2869:112;;;;;;;;;;-1:-1:-1;983:2869:112;-1:-1:-1;;;;;;;;;;;983:2869:112;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;;;;8089:48:25;-1:-1:-1;8089:48:25;;-1:-1:-1;;;;;983:2869:112;;;;;1941:15:110;983:2869:112;;;;;;;1941:33:110;8190:24:25;;:::i;10310:206:71:-;983:2869:112;;10446:8:71;;;:63;;10405:17;10310:206;:::o;10446:63::-;983:2869:112;;;;;;;;;;10405:17:71;14439:109;;10405:17;14439:109;;;983:2869:112;;;10310:206:71;:::o;4946:176:31:-;4243:17;;:::i;:::-;4262:20;;:::i;:::-;983:2869:112;;;4221:92:31;;;;983:2869:112;2073:95:31;983:2869:112;;;2073:95:31;;983:2869:112;2073:95:31;;;983:2869:112;4284:13:31;2073:95;;;983:2869:112;4307:4:31;2073:95;;;983:2869:112;2073:95:31;4221:92;;2073:95;983:2869:112;;;;;;-1:-1:-1;;;;;983:2869:112;;;;;3445:249:65;983:2869:112;3445:249:65;983:2869:112;;;;;;4211:103:31;;-1:-1:-1;;;3445:249:65;;;;;;;;;4946:176:31;:::o;6887:260:63:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;:::-;7105:8;;;;;:::i;2100:222:29:-;-1:-1:-1;;;;;983:2869:112;;-1:-1:-1;983:2869:112;;;972:64:29;983:2869:112;;;;;;;;;;;;;;2231:16:29;;;2227:89;;2100:222;;:::o;2227:89::-;983:2869:112;;-1:-1:-1;;;2270:35:29;;-1:-1:-1;;;;;983:2869:112;;;;2270:35:29;;;983:2869:112;;;;;;;;;;12018:60:27;2323:83:50;1019:819;;;;;;;4685:19:110;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;983:2869:112;8837:64:26;983:2869:112;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;983:2869:112;;-1:-1:-1;;;7191:17:26;;;;;983:2869:112;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;983:2869:112;;;;;;;;;-1:-1:-1;983:2869:112;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;983:2869:112;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;983:2869:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;8998:846:25:-;-1:-1:-1;;;;;983:2869:112;;;;8998:846:25;;983:2869:112;;;;9152:10:25;;;;;:24;;8998:846;9148:690;;8998:846;;;;;;:::o;9148:690::-;9196:18;9192:317;;9148:690;9526:16;;;9522:306;;9148:690;;;;;9522:306;9769:44;9628:26;9702;9628;9601:145;9628:26;;:::i;:::-;9702;;:::i;:::-;9601:145;;:::i;:::-;983:2869:112;;;-1:-1:-1;;;;;983:2869:112;;;;;;;;;;;;;9769:44:25;9522:306;;;;;9192:317;9300:28;;;:::i;:::-;9381:26;;;:::i;:::-;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;10716:14:25;;;:::i;:::-;983:2869:112;;;;;;;;;;;9448:46:25;8310:38:71;9448:46:25;8310:38:71;;;;:::i;:::-;983:2869:112;;;;;;;;;;;;;;;;;;;;;;9448:46:25;;;;9192:317;;;;9152:24;9166:10;;;;9152:24;;983:2869:112;;;;;;;:::o;:::-;;;;;;;;;;;;18080:5181:68;18246:1;18241:6;;;18237:53;;18246:1;19217:14;-1:-1:-1;;;19278:16:68;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;23216:28;19383:15;19898:6;19383:15;-1:-1:-1;;;23237:6:68;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;983:2869:112;18246:1:68;983:2869:112;22284:6:68;;;;:::i;:::-;983:2869:112;;;;;22278:18:68;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;983:2869:112;23216:28:68;983:2869:112;;18080:5181:68;:::o;19887:61::-;18246:1;983:2869:112;19887:61:68;;19787:87;983:2869:112;;;;;19787:87:68;;;19687;983:2869:112;;;;;19687:87:68;;;19585:89;983:2869:112;;;;;19585:89:68;;;19482:90;983:2869:112;;;;;19482:90:68;;;19379;983:2869:112;;;;;19379:90:68;;;19274:92;-1:-1:-1;;;;983:2869:112;-1:-1:-1;983:2869:112;;;;19274:92:68;;12929:433:71;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:68;;;;;;3731;;;;983:2869:112;;;;;;;;;14439:109:71;-1:-1:-1;14439:109:71;983:2869:112;14439:109:71;;;-1:-1:-1;14439:109:71;;983:2869:112;;;;;-1:-1:-1;13189:136:71;983:2869:112;;;13248:10:71;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;5203:1551:63;;;6283:66;6270:79;;6266:164;;983:2869:112;;;;;;-1:-1:-1;983:2869:112;;;;;;;;;;;;;;;;;;;6541:24:63;;;;;;;;;-1:-1:-1;6541:24:63;-1:-1:-1;;;;;983:2869:112;;6579:20:63;6575:113;;6698:49;-1:-1:-1;6698:49:63;-1:-1:-1;5203:1551:63;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:63;6541:24;6615:62;-1:-1:-1;6615:62:63;:::o;6266:164::-;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;983:2869:112:-;;-1:-1:-1;983:2869:112;;;:::o;:::-;;;;;;;;;;;;7280:532:63;983:2869:112;;;:::i;:::-;7366:29:63;;;7411:7;;:::o;7362:444::-;983:2869:112;;;:::i;:::-;7471:29:63;7462:38;;7471:29;;983:2869:112;;-1:-1:-1;;;7523:23:63;;;;;7458:348;983:2869:112;;;:::i;:::-;7576:35:63;7567:44;;7576:35;;983:2869:112;;-1:-1:-1;;;7634:46:63;;;;;983:2869:112;;;;;12018:60:27;7563:243:63;983:2869:112;;7710:30:63;983:2869:112;;:::i;:::-;7701:39:63;7697:109;;7563:243;7280:532::o;7697:109::-;983:2869:112;;-1:-1:-1;;;7763:32:63;;;;;983:2869:112;;;;;;12018:60:27;4421:582:56;;4593:8;;-1:-1:-1;983:2869:112;;5674:21:56;:17;;5799:158;;;;;;5670:354;983:2869:112;;-1:-1:-1;;;5994:19:56;;;;;4589:408;983:2869:112;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;983:2869:112;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;983:2869:112;;;4917:24:56;;;983:2869:112;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;4174:218:69;-1:-1:-1;;;;;983:2869:112;4254:25:69;;;4250:105;;983:2869:112;4174:218:69;:::o;4250:105::-;983:2869:112;;;;14421:41:69;;;;4302:42;;4333:3;4302:42;;;983:2869:112;;;;;4302:42:69;10473:273:25;;819:34:73;837:15;819:34;:::i;:::-;-1:-1:-1;;;;;983:2869:112;;;10716:14:25;;;:::i;:::-;983:2869:112;;;;;;;;;8310:38:71;;;:::i;983:2869:112:-;;;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;6246:584:94;;;;;6360:12;;;983:2869:112;;;6360:24:94;;6356:75;;6246:584;6474:30;;;;;:::i;:::-;983:2869:112;;;;;;6578:12:94;;;;:::i;:::-;6604:24;;;;6246:584;-1:-1:-1;6600:188:94;;;-1:-1:-1;;;;;983:2869:112;;;;;;;6644:21:94;;;:29;:21;;:::i;:29::-;6798:25;6246:584;:::o;6600:188::-;6753:24;;983:2869:112;;8310:38:71;;-1:-1:-1;;;;;983:2869:112;;;;;8310:38:71;:::i;:::-;6753:24:94;;;:::i;6604:::-;983:2869:112;;;;;;6614:14:94;;-1:-1:-1;6604:24:94;;;6356:75;-1:-1:-1;;;983:2869:112;;;;;;6360:12:94;983:2869:112;;;;;;;:::i;:::-;;;;;;;;;;;;;;6356:75:94;;;7058:687:31;983:2869:112;;:::i;:::-;;;;7230:22:31;;;;983:2869:112;;7275:22:31;7268:29;:::o;7226:513::-;-1:-1:-1;;2806:64:31;983:2869:112;7603:15:31;;;;7638:17;:::o;7599:130::-;7694:20;7701:13;7694:20;:::o;7966:723::-;983:2869:112;;:::i;:::-;;;;8147:25:31;;;;983:2869:112;;8195:25:31;8188:32;:::o;8143:540::-;-1:-1:-1;;8507:16:31;983:2869:112;8541:18:31;;;;8579:20;:::o;983:2869:112:-;;;-1:-1:-1;;;983:2869:112;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;983:2869:112;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;11657:922:71;983:2869:112;;11657:922:71;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;983:2869:112;;;;;;;;;;;;12103:13:71;;;12099:89;;12251:14;;;;;12285:19;;;;983:2869:112;;;;;;;;;;;;;;;;;12285:19:71;983:2869:112;;12423:25:71;;:::o;12247:163::-;983:2869:112;;;12343:52:71;983:2869:112;12353:41:71;983:2869:112;;:::i;:::-;;;;;;;;12353:41:71;-1:-1:-1;;;;;983:2869:112;;12353:41:71;;;983:2869:112;12343:52:71;:::i;:::-;12247:163;;12099:89;983:2869:112;;-1:-1:-1;;;12143:30:71;;;;;11860:713;983:2869:112;;12479:52:71;983:2869:112;12489:41:71;983:2869:112;;:::i;12489:41:71:-;-1:-1:-1;;;;;983:2869:112;;12489:41:71;;;983:2869:112;12343:52:71;:::i;12479:::-;11870:1;12545:17;;:::o;10695:389::-;983:2869:112;;10871:8:71;;;10895:20;;10833:17;10895:20;10833:17;10895:20;10833:17;10895:20;:::o;10867:211::-;983:2869:112;;;;;;;;;;10833:17:71;14439:109;;10833:17;14439:109;;;983:2869:112;11014:1:71;983:2869:112;;;;;;;11030:37:71;:::o","linkReferences":{},"immutableReferences":{"72424":[{"start":2360,"length":32},{"start":9453,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","RETURN_VALUE()":"653b04cd","_VaultTokenized_init(bytes)":"7bd00ae8","_VaultVotes_init(bytes)":"0eac105e","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burner()":"27810b6e","clock()":"91ddadf4","collateral()":"d8dfeb45","decimals()":"313ce567","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","delegator()":"ce9b7930","deposit(address,uint256)":"47e7ef24","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","eip712Domain()":"84b0196e","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","name()":"06fdde03","nonces(address)":"7ecebe00","redeem(address,uint256)":"1e9a6950","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","withdraw(address,uint256)":"f3fef3a3","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"baseImplementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidData\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SafeSupplyExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"_VaultTokenized_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"_VaultVotes_init\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"onBehalfOf\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"depositedAmount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"shares\",\"type\":\"uint256\"}],\"name\":\"redeem\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"withdrawnAssets\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"burnedShares\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"mintedShares\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Description of the clock\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting).\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the next unused nonce for an address.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":\"VaultVotesImplementation\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol\":{\"keccak256\":\"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0\",\"dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol\":{\"keccak256\":\"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827\",\"dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol\":{\"keccak256\":\"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33\",\"dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6\",\"dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/contracts/vault/v1.1/VaultVotesImplementation.sol\":{\"keccak256\":\"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65\",\"dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d\",\"dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]},\"src/interfaces/vault/v1.1/IVaultVotes.sol\":{\"keccak256\":\"0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd\",\"dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"baseImplementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"type":"error","name":"ERC5805FutureLookup"},{"inputs":[],"type":"error","name":"ERC6372InconsistentClock"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"InvalidData"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[],"type":"error","name":"SafeSupplyExceeded"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"type":"error","name":"VotesExpiredSignature"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousVotes","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotes","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultTokenized_init"},{"inputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"_VaultVotes_init"},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"onBehalfOf","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"depositedAmount","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"shares","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"redeem","outputs":[{"internalType":"uint256","name":"withdrawnAssets","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"claimer","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"burnedShares","type":"uint256"},{"internalType":"uint256","name":"mintedShares","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Description of the clock"},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"Returns the value of tokens owned by `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting)."},"decimals()":{"details":"Returns the decimals places of the token."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {IERC-5267}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the next unused nonce for an address."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"Returns the value of tokens in existence."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultVotesImplementation.sol":"VaultVotesImplementation"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/governance/utils/VotesUpgradeable.sol":{"keccak256":"0x5d043309b7688b0182e3020af70b5cb0b9186e111d39409ebca8177739a9d43b","urls":["bzz-raw://e32bd2dd9e49f088cd19b007a5d83e960059f4d8c5b26ef1764c07c980a2e8e0","dweb:/ipfs/QmQ2Dr7rVELrE2aEmX4jy9RSQYkYxnazcqQk6w2Pzfwdcs"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/NoncesUpgradeable.sol":{"keccak256":"0x778f4a1546a1c6c726ecc8e2348a2789690fb8f26e12bd9d89537669167b79a4","urls":["bzz-raw://851d3dfe724e918ff0a064b206e1ef46b27ab0df2aa2c8af976973a22ef59827","dweb:/ipfs/Qmd4wb7zX8ueYhMVBy5PJjfsANK3Ra3pKPN7qQkNsdwGHn"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/cryptography/EIP712Upgradeable.sol":{"keccak256":"0x7a618cd9a1eea21201ec2ed8484080ca6225215e8883723bef34b9dcf22aa3b5","urls":["bzz-raw://287a73451277e35206f1f8b9f20b2cd41732081bd23523f5a2c64e1e67694c33","dweb:/ipfs/QmdPVK7KACRpoavNUoixGsi8jBWeZUJfNYCzZbHGSGz5yu"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7","urls":["bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6","dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultVotesImplementation.sol":{"keccak256":"0x041fc819e1995d62babe1e6f16127643a21dc64a6f4d7b86bae38d91d847177a","urls":["bzz-raw://c7625d8ed13406e14402a730dfd2d31d9d2af416b8c1513c17fa4a96dec91b65","dweb:/ipfs/QmPzct62JHMTK68iZhCnNGvNBJshhRCZNdEohb3tEPe6pM"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b","urls":["bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d","dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultVotes.sol":{"keccak256":"0x0b55695c0c8db6834a1f45b4351df4e85f64c91f801a8959d47e805e1131b6e3","urls":["bzz-raw://79a8658f328570466c746cff2e67b11a5d64506012d14184f3f17633700b4bdd","dweb:/ipfs/QmPhjrP1YwTMrdtLodhChnmfKaR8MbPehMnpwCEWSu8ji6"],"license":"MIT"}},"version":1},"id":112} \ No newline at end of file diff --git a/out/v1.1/Vault.sol/Vault.json b/out/v1.1/Vault.sol/Vault.json index a1a13e0..fe423c6 100644 --- a/out/v1.1/Vault.sol/Vault.json +++ b/out/v1.1/Vault.sol/Vault.json @@ -1,1842 +1 @@ -{ - "abi": [ - { - "type": "constructor", - "inputs": [ - { - "name": "vaultFactory", - "type": "address", - "internalType": "address" - }, - { - "name": "implementation", - "type": "address", - "internalType": "address" - } - ], - "stateMutability": "nonpayable" - }, - { "type": "fallback", "stateMutability": "payable" }, - { - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FACTORY", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_BASE", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "MIN_EXIT_WINDOW", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "RETURN_VALUE", - "inputs": [], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_nextEpochInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDuration", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "_prevEpochDurationInitIndex", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "burner", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "collateral", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "delegator", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "depositWhitelist", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeRate", - "inputs": [], - "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashFeeReceiver", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "flashLoanEnabled", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "getRoleAdmin", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" } - ], - "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "grantRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "hasRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "initialize", - "inputs": [ - { - "name": "initialVersion", - "type": "uint64", - "internalType": "uint64" - }, - { "name": "owner_", "type": "address", "internalType": "address" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "isDelegatorInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositLimit", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isDepositorWhitelisted", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isSlasherInitialized", - "inputs": [], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "isWithdrawalsClaimed", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [{ "name": "value", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "migrate", - "inputs": [ - { "name": "newVersion", "type": "uint64", "internalType": "uint64" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "owner", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "renounceOwnership", - "inputs": [], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "renounceRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { - "name": "callerConfirmation", - "type": "address", - "internalType": "address" - } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "revokeRole", - "inputs": [ - { "name": "role", "type": "bytes32", "internalType": "bytes32" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "slasher", - "inputs": [], - "outputs": [{ "name": "", "type": "address", "internalType": "address" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "staticDelegateCall", - "inputs": [ - { "name": "target", "type": "address", "internalType": "address" }, - { "name": "data", "type": "bytes", "internalType": "bytes" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "supportsInterface", - "inputs": [ - { "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" } - ], - "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "transferOwnership", - "inputs": [ - { "name": "newOwner", "type": "address", "internalType": "address" } - ], - "outputs": [], - "stateMutability": "nonpayable" - }, - { - "type": "function", - "name": "version", - "inputs": [], - "outputs": [{ "name": "", "type": "uint64", "internalType": "uint64" }], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalShares", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawalSharesOf", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" }, - { "name": "account", "type": "address", "internalType": "address" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "function", - "name": "withdrawals", - "inputs": [ - { "name": "epoch", "type": "uint256", "internalType": "uint256" } - ], - "outputs": [ - { "name": "amount", "type": "uint256", "internalType": "uint256" } - ], - "stateMutability": "view" - }, - { - "type": "event", - "name": "Initialized", - "inputs": [ - { - "name": "version", - "type": "uint64", - "indexed": false, - "internalType": "uint64" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "OwnershipTransferred", - "inputs": [ - { - "name": "previousOwner", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "newOwner", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleAdminChanged", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "newAdminRole", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleGranted", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { - "type": "event", - "name": "RoleRevoked", - "inputs": [ - { - "name": "role", - "type": "bytes32", - "indexed": true, - "internalType": "bytes32" - }, - { - "name": "account", - "type": "address", - "indexed": true, - "internalType": "address" - }, - { - "name": "sender", - "type": "address", - "indexed": true, - "internalType": "address" - } - ], - "anonymous": false - }, - { "type": "error", "name": "AccessControlBadConfirmation", "inputs": [] }, - { - "type": "error", - "name": "AccessControlUnauthorizedAccount", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" }, - { "name": "neededRole", "type": "bytes32", "internalType": "bytes32" } - ] - }, - { "type": "error", "name": "AlreadyInitialized", "inputs": [] }, - { "type": "error", "name": "AlreadySet", "inputs": [] }, - { "type": "error", "name": "InsufficientExitWindow", "inputs": [] }, - { "type": "error", "name": "InvalidAccount", "inputs": [] }, - { "type": "error", "name": "InvalidCollateral", "inputs": [] }, - { "type": "error", "name": "InvalidEpochDuration", "inputs": [] }, - { - "type": "error", - "name": "InvalidEpochDurationSetEpochsDelay", - "inputs": [] - }, - { "type": "error", "name": "InvalidFlashParams", "inputs": [] }, - { "type": "error", "name": "InvalidInitialization", "inputs": [] }, - { "type": "error", "name": "InvalidOrigin", "inputs": [] }, - { "type": "error", "name": "MissingRoles", "inputs": [] }, - { "type": "error", "name": "NoDepositWhitelist", "inputs": [] }, - { "type": "error", "name": "NotFactory", "inputs": [] }, - { "type": "error", "name": "NotInitialized", "inputs": [] }, - { "type": "error", "name": "NotInitializing", "inputs": [] }, - { - "type": "error", - "name": "OwnableInvalidOwner", - "inputs": [ - { "name": "owner", "type": "address", "internalType": "address" } - ] - }, - { - "type": "error", - "name": "OwnableUnauthorizedAccount", - "inputs": [ - { "name": "account", "type": "address", "internalType": "address" } - ] - }, - { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, - { - "type": "error", - "name": "SafeCastOverflowedUintDowncast", - "inputs": [ - { "name": "bits", "type": "uint8", "internalType": "uint8" }, - { "name": "value", "type": "uint256", "internalType": "uint256" } - ] - } - ], - "bytecode": { - "object": "0x60c034610115576126a8906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516125669081610142823960805181818161056601526106d1015260a051816122a70152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220655053b86664791def7a46c56ae0eaf45c35676b8add725e09a3f3bcebdcaf5164736f6c63430008190033", - "sourceMap": "852:7473:129:-:0;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:27;;852:7473:129;;;;;;;;;7896:76:27;;852:7473:129;;;;7985:34:27;7981:146;;-1:-1:-1;927:17:102;;;;;1445:31:129;;852:7473;;;;;;;927:17:102;852:7473:129;;;;;;;;;;1445:31;852:7473;;;;;;7981:146:27;-1:-1:-1;;;;;;852:7473:129;;;;;;;;;;;;;8087:29:27;;852:7473:129;;8087:29:27;7981:146;;;;;7896:76;852:7473:129;;-1:-1:-1;;;7938:23:27;;;;;852:7473:129;-1:-1:-1;852:7473:129;;;;;;-1:-1:-1;852:7473:129;;;;;-1:-1:-1;852:7473:129;;;;-1:-1:-1;;;;;852:7473:129;;;;;;:::o", - "linkReferences": {} - }, - "deployedBytecode": { - "object": "0x60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220655053b86664791def7a46c56ae0eaf45c35676b8add725e09a3f3bcebdcaf5164736f6c63430008190033", - "sourceMap": "852:7473:129:-:0;;;;;;2603:64:52;852:7473:129;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:52;852:7473:129;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:24;;;:87;;;;852:7473:129;;;;;;;;;;3551:87:24;-1:-1:-1;;;1134:40:33;;-1:-1:-1;3551:87:24;;;852:7473:129;-1:-1:-1;852:7473:129;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;757:38:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;612:37:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;-1:-1:-1;852:7473:129;-1:-1:-1;;;;;;;;;;;852:7473:129;;;4919:24:24;852:7473:129;-1:-1:-1;852:7473:129;4919:24:24;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;4327:34:131;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;:::i;:::-;2499:73:31;;1991:1;852:7473:129;;3670:20:31;3666:88;;1991:1;;;1673:7:102;-1:-1:-1;;;;;852:7473:129;1659:10:102;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:7473:129;;;;;;;;;;;6431:44:27;;;;852:7473:129;6427:105:27;;-1:-1:-1;;852:7473:129;;;;;;;;;-1:-1:-1;;;;;;;;;;;852:7473:129;;-1:-1:-1;;;;852:7473:129;-1:-1:-1;;;852:7473:129;;;6656:20:27;;;;852:7473:129;;;;1809:204:102;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:129;;-1:-1:-1;;;;852:7473:129;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;6656:20:27;;;;3426:1:31;1949;2499:73;1991:1;3860:283;3426:1;852:7473:129;6427:105:27;852:7473:129;;-1:-1:-1;;;6498:23:27;;852:7473:129;;6498:23:27;6431:44;852:7473:129;;;;6450:25:27;;;6431:44;;1655:71:102;852:7473:129;;-1:-1:-1;;;1703:12:102;;852:7473:129;;1703:12:102;3666:88:31;852:7473:129;;-1:-1:-1;;;3713:30:31;;852:7473:129;;3713:30:31;852:7473:129;;;;;;-1:-1:-1;;852:7473:129;;;;;;655:32:102;-1:-1:-1;;;;;852:7473:129;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:7473:129;;;;5350:25:24;852:7473:129;;;;;;;:::i;:::-;;-1:-1:-1;852:7473:129;-1:-1:-1;;;;;;;;;;;852:7473:129;;3202:4:24;4919:24;852:7473:129;-1:-1:-1;852:7473:129;4919:24:24;852:7473:129;3202:4:24;:::i;:::-;5350:25;:::i;852:7473:129:-;;;;;;-1:-1:-1;;852:7473:129;;;;;2227:28:131;852:7473:129;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;1479:40:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;:::i;:::-;966:10:29;-1:-1:-1;;;;;852:7473:129;;6441:34:24;6437:102;;6549:37;852:7473:129;;;6549:37:24;:::i;6437:102::-;852:7473:129;;-1:-1:-1;;;6498:30:24;;852:7473:129;;6498:30:24;852:7473:129;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;2391:34:131;852:7473:129;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:27;;852:7473:129;;;;;;734:29:102;730:87;;852:7473:129;;;;;6431:44:27;;;;;852:7473:129;6427:105:27;;;6656:20;852:7473:129;6656:20:27;852:7473:129;1167:340:102;852:7473:129;;;;-1:-1:-1;;;;;852:7473:129;;;;;6575:22:27;-1:-1:-1;;;;;;;;;;;;;;852:7473:129;;;;;;;;;6575:22:27;1167:340:102;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:129;;-1:-1:-1;;;;852:7473:129;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;6656:20:27;;;;852:7473:129;6427:105:27;852:7473:129;;-1:-1:-1;;;6498:23:27;;852:7473:129;;6498:23:27;6431:44;852:7473:129;;;;;-1:-1:-1;6450:25:27;6431:44;;;730:87:102;852:7473:129;;-1:-1:-1;;;786:20:102;;852:7473:129;;786:20:102;852:7473:129;;;;;;-1:-1:-1;;852:7473:129;;;;;;4059:32:131;852:7473:129;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;-1:-1:-1;852:7473:129;2854:59:131;852:7473:129;;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;1041:36:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;1714:45:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;4587:28:131;852:7473:129;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;3967:36:131;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;2559:32:131;852:7473:129;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;2303:62:25;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7473:129;;-1:-1:-1;;;;;;852:7473:129;;;;;;;-1:-1:-1;;;;;852:7473:129;3975:40:25;852:7473:129;;3975:40:25;852:7473:129;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:7473:129;2730:68:131;852:7473:129;;;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;-1:-1:-1;;;;;;;;;;;852:7473:129;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;3901:31:24;852:7473:129;;;;;:::i;:::-;;;-1:-1:-1;852:7473:129;-1:-1:-1;;;;;;;;;;;852:7473:129;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;;;;;;3901:31:24;852:7473:129;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;3869:42:131;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;3775:38:131;852:7473:129;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:7473:129;;;;-1:-1:-1;852:7473:129;477:31:106;852:7473:129;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:106;;;;852:7473:129;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;477:31:106;;;852:7473:129;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;;;477:31:106;852:7473:129;477:31:106;;;;;;;:::i;:::-;518:79;;;852:7473:129;518:79:106;;852:7473:129;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;2139:32:131;852:7473:129;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;900:35:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;3089:94:131;852:7473:129;;;;;:::i;:::-;;;-1:-1:-1;852:7473:129;3089:94:131;852:7473:129;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;;;;;;3089:94:131;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;3239:92:131;852:7473:129;;;;;:::i;:::-;;;-1:-1:-1;852:7473:129;3239:92:131;852:7473:129;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;1187:40:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;4500:31:131;852:7473:129;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;-1:-1:-1;852:7473:129;2969:64:131;852:7473:129;;;;-1:-1:-1;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;2481:22:131;852:7473:129;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;3573:43:131;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;1333:36:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;4239:32:131;852:7473:129;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;3672:47:131;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;4147:36:131;852:7473:129;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;2311:24:131;852:7473:129;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;5767:26:24;852:7473:129;;;;;;;:::i;:::-;;-1:-1:-1;852:7473:129;-1:-1:-1;;;;;;;;;;;852:7473:129;;3202:4:24;4919:24;852:7473:129;-1:-1:-1;852:7473:129;4919:24:24;852:7473:129;3202:4:24;:::i;:::-;5767:26;:::i;852:7473:129:-;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;466:39:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;4417:27:131;852:7473:129;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;1616:3:131;852:7473:129;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7473:129;;;;;;;1286:6;852:7473;;;;;;;;;-1:-1:-1;;852:7473:129;;;;2357:1:25;852:7473:129;;;;;:::i;:::-;2303:62:25;;:::i;:::-;2357:1;:::i;852:7473:129:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:7473:129;;;;;;-1:-1:-1;;852:7473:129;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:129;;;;;;:::o;1167:340:102:-;;;852:7473:129;3139:37;1167:340:102;6893:76:27;;:::i;:::-;;;:::i;:::-;1949:1:31;2499:73;1991:1;;;-1:-1:-1;;;;;852:7473:129;1949:1:31;;1991;852:7473:129;;;1376:73:102;;1167:340;852:7473:129;;;;:::i;:::-;3139:37;852:7473;;;3139:37;;;;;;:::i;:::-;852:7473;;;;;;;-1:-1:-1;;;;;852:7473:129;3191:31;3187:95;;3296:20;;;;;852:7473;;;;;;;;;;3296:25;3292:92;;3398:29;;;852:7473;;3398:29;;852:7473;3398:43;;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;;;;;852:7473:129;;;3398:43;;3394:971;;1167:340:102;4380:23:129;;;852:7473;4379:24;852:7473;;;;;;;;4379:24;;852:7473;4379:24;:67;;;1167:340:102;4375:132:129;;4537:28;;;-1:-1:-1;4522:9:129;1949:1:31;;;4517:411:129;-1:-1:-1;;852:7473:129;;4942:43;;-1:-1:-1;;;;;;852:7473:129;;;4942:43;;4938:1254;;4517:411;6305:34;;;852:7473;6375:23;;;;852:7473;;;;;;;;6430:19;;;852:7473;6485:23;;;852:7473;6554:33;;;852:7473;6636:36;;;852:7473;6717:32;;;852:7473;6798:36;;;852:7473;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37;6237:612;;852:7473;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:129;4380:23;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:129;6237:612;;;852:7473;-1:-1:-1;;;;;852:7473:129;6237:612;;;852:7473;-1:-1:-1;;;;;852:7473:129;6305:34;6237:612;;852:7473;-1:-1:-1;;;;;852:7473:129;6375:23;6237:612;;852:7473;6237:612;;;:::i;:::-;852:7473;;-1:-1:-1;;;;;852:7473:129;1398:1:102;852:7473:129;;-1:-1:-1;;;;;;852:7473:129;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;3139:37;6920:13;;852:7473;-1:-1:-1;;;;;852:7473:129;;;;-1:-1:-1;;;;;;852:7473:129;-1:-1:-1;;;;;852:7473:129;;;;;;;;;819:34:79;837:15;819:34;:::i;:::-;1949:1:31;852:7473:129;;-1:-1:-1;;;;852:7473:129;;;;;;-1:-1:-1;;;852:7473:129;;;;;;;;;;1949:1:31;852:7473:129;;-1:-1:-1;;;;;852:7473:129;;;;;;-1:-1:-1;;;;;;852:7473:129;;;;;;;;;;7039:42;;852:7473;;;1398:1:102;852:7473:129;;;;;;;1398:1:102;852:7473:129;;7039:42;6237:612;7109:21;;852:7473;1398:1:102;852:7473:129;;-1:-1:-1;;852:7473:129;;;;;;;;;;;;;;6237:612;7155:19;;852:7473;7140:34;1991:1:31;852:7473:129;-1:-1:-1;;;;;852:7473:129;;;7822:32;;852:7473;;;7185:135;;4517:411;-1:-1:-1;7333:36:129;;;852:7473;-1:-1:-1;;;;;852:7473:129;;;;7329:157;;4517:411;-1:-1:-1;7499:35:129;;;852:7473;-1:-1:-1;;;;;852:7473:129;;;;7495:153;;4517:411;-1:-1:-1;7661:34:129;;;852:7473;-1:-1:-1;;;;;852:7473:129;;;;7657:152;;4517:411;-1:-1:-1;7822:32:129;852:7473;-1:-1:-1;;;;;852:7473:129;;;;;;;7818:145;;1167:340:102;:::o;7818:145:129:-;7884:68;;;:::i;:::-;;1167:340:102:o;7657:152:129:-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;852:7473;;5005:23;;5052;;;852:7473;5052:37;;-1:-1:-1;;;;;852:7473:129;;;5052:37;:23;;5117:32;;;852:7473;5117:46;;-1:-1:-1;;;;;852:7473:129;;;5117:46;:32;;5195:36;;;852:7473;5195:50;;-1:-1:-1;;;;;852:7473:129;;;5195:50;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;852:7473;-1:-1:-1;;;5312:27:129;;;;;5195:78;5249:19;;;;852:7473;5249:24;5195:78;;5113:420;5398:36;;;852:7473;5398:50;;-1:-1:-1;;;;;852:7473:129;;;5398:50;5113:420;5394:139;852:7473;-1:-1:-1;;;5483:27:129;;;;;5048:664;5561:32;;;852:7473;5561:46;;-1:-1:-1;;;;;852:7473:129;;;5561:46;;:74;;;5048:664;5557:155;5048:664;5557:155;852:7473;-1:-1:-1;;;5666:27:129;;;;;5561:74;5611:19;;;;852:7473;5611:24;5561:74;;5001:1181;5753:36;;;852:7473;5753:50;;-1:-1:-1;;;;;852:7473:129;;;5753:50;;:347;;;5001:1181;5732:450;4938:1254;5732:450;852:7473;-1:-1:-1;;;6140:27:129;;;;;5753:347;-1:-1:-1;5853:23:129;;;852:7473;5853:37;;-1:-1:-1;;;;;852:7473:129;;;5853:37;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:129;;;852:7473;6032:46;;-1:-1:-1;;;;;852:7473:129;;;6032:46;;;5753:347;;5853:147;-1:-1:-1;5950:36:129;;;852:7473;5950:50;;-1:-1:-1;;;;;852:7473:129;;;5950:50;;;5853:147;;:65;5894:19;;;;852:7473;5894:24;;5853:65;;4574:3;4537:28;;852:7473;;4533:39;;;;;4597:31;;;:45;:31;;:::i;:::-;852:7473;-1:-1:-1;;;;;852:7473:129;;;4597:45;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:7473:129;;;;;4725:22;852:7473;;;;;;;4725:55;852:7473;;;;;4725:55;4721:120;;4878:28;;;4855:62;:55;4878:31;;:28;;;;:31;:::i;4855:55::-;852:7473;;-1:-1:-1;;852:7473:129;1949:1:31;852:7473:129;;;;4855:62;852:7473;4522:9;;;;4721:120;852:7473;;-1:-1:-1;;;4807:19:129;;;;;4593:114;852:7473;;-1:-1:-1;;;4669:23:129;;;;;4533:39;;;;4375:132;852:7473;;-1:-1:-1;;;4469:27:129;;;;;4379:67;4407:28;;;;;852:7473;4407:39;;4379:67;;3394:971;3461:36;;;852:7473;3461:50;;-1:-1:-1;;;;;852:7473:129;;;3461:50;;3457:419;;3394:971;3894:34;;;852:7473;3894:48;;-1:-1:-1;;;;;852:7473:129;;;3894:48;;3890:465;;3394:971;;;3890:465;3966:21;;;852:7473;;3966:21;;4015:19;;;852:7473;4015:24;:74;;;3962:379;4011:157;3394:971;4011:157;852:7473;-1:-1:-1;;;4124:21:129;;;;;4015:74;-1:-1:-1;4043:32:129;;;852:7473;4043:46;;-1:-1:-1;;;;;852:7473:129;;;4043:46;;4015:74;;3962:379;4196:19;;;852:7473;4196:24;;;:74;;;3962:379;4192:149;3890:465;4192:149;852:7473;-1:-1:-1;;;4301:21:129;;;;;4196:74;-1:-1:-1;4224:32:129;;;852:7473;4224:46;;-1:-1:-1;;;;;852:7473:129;;;4224:46;;;4196:74;;3457:419;3535:23;;;852:7473;;3535:23;;3586:35;;;852:7473;3586:49;;-1:-1:-1;;;;;852:7473:129;;;3586:49;3457:419;3582:132;852:7473;-1:-1:-1;;;3670:21:129;;;;;3531:331;3742:35;;;852:7473;3742:49;;-1:-1:-1;;;;;852:7473:129;;;3742:49;3738:124;3457:419;3738:124;852:7473;-1:-1:-1;;;3822:21:129;;;;;3292:92;852:7473;;-1:-1:-1;;;3344:29:129;;;;;3187:95;852:7473;;-1:-1:-1;;;3245:26:129;;;;;1376:73:102;6961:1:27;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:102;;;3405:215:25;-1:-1:-1;;;;;852:7473:129;;;;3489:22:25;;3485:91;;-1:-1:-1;;;;;;;;;;;852:7473:129;;-1:-1:-1;;;;;;852:7473:129;;;;;;;;3975:40:25;-1:-1:-1;;3975:40:25;3405:215::o;3485:91::-;852:7473:129;;-1:-1:-1;;;3534:31:25;;3509:1;3534:31;;;852:7473:129;;;3534:31:25;1809:204:102;;852:7473:129;8110:1;1809:204:102;-1:-1:-1;;;;;1809:204:102;852:7473:129;;;:::i;:::-;;;8096:15;8110:1;;852:7473;;;;8166:40;;;;;852:7473;;;;;8239:6;852:7473;;;;;;;:::i;:::-;8166:40;;;852:7473;;;;;;;;:::i;:::-;8166:40;852:7473;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;8239:6;:::i;8092:225::-;852:7473;;-1:-1:-1;;;8284:22:129;;;;;4148:103:24;-1:-1:-1;852:7473:129;;;-1:-1:-1;;;;;;;;;;;852:7473:129;;;;;;;;966:10:29;852:7473:129;;;;;;;;;;4468:23:24;4464:108;;4148:103;:::o;4464:108::-;852:7473:129;;;;4514:47:24;;;;;;966:10:29;4514:47:24;;;852:7473:129;;;;;4514:47:24;7270:387;-1:-1:-1;;;;;852:7473:129;;1398:1:102;852:7473:129;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;;;1398:1:102;852:7473:129;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;-1:-1:-1;;852:7473:129;7509:4:24;852:7473:129;;;966:10:29;;-1:-1:-1;;;;;852:7473:129;-1:-1:-1;7532:40:24;-1:-1:-1;;7532:40:24;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:102;7628:12:24;:::o;7270:387::-;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;852:7473:129;;;;;;;;;466:39:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;3901:31:24;852:7473:129;;;;-1:-1:-1;852:7473:129;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;-1:-1:-1;;852:7473:129;7509:4:24;852:7473:129;;;966:10:29;;-1:-1:-1;;;;;852:7473:129;;7532:40:24;-1:-1:-1;;7532:40:24;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:24;:::o;7270:387::-;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;852:7473:129;;;;;;;;;612:37:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;3901:31:24;852:7473:129;7270:387:24;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;852:7473:129;;;;;;;;;757:38:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;3901:31:24;852:7473:129;7270:387:24;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;852:7473:129;;;;;;;;;900:35:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;3901:31:24;852:7473:129;7270:387:24;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;852:7473:129;;;;;;;;;1041:36:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;3901:31:24;852:7473:129;7270:387:24;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;852:7473:129;;;;;;;;;1333:36:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;3901:31:24;852:7473:129;7270:387:24;-1:-1:-1;;;;;852:7473:129;;-1:-1:-1;852:7473:129;;;;;;;;;1479:40:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;852:7473:129;;3901:31:24;852:7473:129;7270:387:24;-1:-1:-1;852:7473:129;;;-1:-1:-1;;;;;;;;;;;852:7473:129;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;3901:31:24;852:7473:129;7892:388:24;-1:-1:-1;852:7473:129;;;-1:-1:-1;;;;;;;;;;;852:7473:129;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;;;-1:-1:-1;852:7473:129;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;-1:-1:-1;;852:7473:129;;;966:10:29;;-1:-1:-1;;;;;852:7473:129;;8155:40:24;-1:-1:-1;;8155:40:24;852:7473:129;8209:11:24;:::o;852:7473:129:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7473:129;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2658:162:25;-1:-1:-1;;;;;;;;;;;852:7473:129;-1:-1:-1;;;;;852:7473:129;966:10:29;2717:23:25;2713:101;;2658:162::o;2713:101::-;852:7473:129;;-1:-1:-1;;;2763:40:25;;966:10:29;2763:40:25;;;852:7473:129;;;2763:40:25;2323:83:52;1019:819;;;;;;;1615:14:129;;1019:819:52;;;;;;;;;;;;;;;;7084:141:27;852:7473:129;-1:-1:-1;;;;;;;;;;;852:7473:129;;;;7150:18:27;7146:73;;7084:141::o;7146:73::-;852:7473:129;;-1:-1:-1;;;7191:17:27;;;;;1642:1070:129;1783:1;852:7473;;1746:38;1742:119;;1875:23;;;852:7473;;-1:-1:-1;;;;;852:7473:129;1875:23;;852:7473;;1875:37;;:65;;1642:1070;1871:130;;852:7473;2183:42;852:7473;2552:36;852:7473;2011:65;852:7473;;;2011:65;1991:1:31;;2011:65:129;2087:42;852:7473;2106:23;;;852:7473;;;;;;2087:42;852:7473;;-1:-1:-1;;;;852:7473:129;;;;;;-1:-1:-1;;;852:7473:129;;;;;;;;2087:42;2139:34;2154:19;;;852:7473;2139:34;1991:1:31;;852:7473:129;;;;;;;;;;2087:42;852:7473;;;2087:42;852:7473;;2183:42;2240:33;;;852:7473;-1:-1:-1;;;;;852:7473:129;;;;2236:148;;1642:1070;-1:-1:-1;2397:32:129;;;852:7473;-1:-1:-1;;;;;852:7473:129;;;;2393:146;;-1:-1:-1;2552:36:129;852:7473;-1:-1:-1;;;;;852:7473:129;;;;;;;2548:158;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;852:7473;;-1:-1:-1;;;1963:27:129;;;;;1875:65;1916:19;;;;852:7473;1916:24;;1875:65;;1742:119;852:7473;;-1:-1:-1;;;1807:43:129;;;;;852:7473;;;;;;;;;;;;2718:286;2836:6;;;:::i;:::-;852:7473;-1:-1:-1;;852:7473:129;;;;;;;2901:14;852:7473;;;;;;;;;;;;;;;;;;1286:6;-1:-1:-1;2854:144:129;;2718:286::o;2854:144::-;852:7473;;-1:-1:-1;;;2956:31:129;;;;;852:7473;;:::i;14296:213:75:-;852:7473:129;14374:24:75;;;;14370:103;;852:7473:129;14296:213:75;:::o;14370:103::-;852:7473:129;;;;14421:41:75;;;;;;14452:2;14421:41;;;852:7473:129;;;;;14421:41:75", - "linkReferences": {}, - "immutableReferences": { - "69284": [ - { "start": 1382, "length": 32 }, - { "start": 1745, "length": 32 } - ], - "80579": [{ "start": 8871, "length": 32 }] - } - }, - "methodIdentifiers": { - "DEFAULT_ADMIN_ROLE()": "a217fddf", - "DEPOSITOR_WHITELIST_ROLE()": "1b66c9e1", - "DEPOSIT_LIMIT_SET_ROLE()": "a21a1df9", - "DEPOSIT_WHITELIST_SET_ROLE()": "db388715", - "EPOCH_DURATION_SET_ROLE()": "61819dd8", - "FACTORY()": "2dd31000", - "FLASH_FEE_BASE()": "ecc98f05", - "FLASH_FEE_RATE_SET_ROLE()": "bc46f722", - "FLASH_FEE_RECEIVER_SET_ROLE()": "31d9736c", - "FLASH_LOAN_ENABLED_SET_ROLE()": "a66b3a73", - "IS_DEPOSIT_LIMIT_SET_ROLE()": "1415519b", - "MIN_EXIT_WINDOW()": "f151f6b5", - "RETURN_VALUE()": "653b04cd", - "_epochDuration()": "2fa27fae", - "_epochDurationInit()": "9f9962dd", - "_epochDurationInitIndex()": "9b4bae3e", - "_epochDurationSetEpochsDelay()": "bba6ff4a", - "_nextEpochDuration()": "c1bc6f51", - "_nextEpochDurationInit()": "cc52aee7", - "_nextEpochDurationSetEpochsDelay()": "c4db46fc", - "_nextEpochInitIndex()": "2749f9c4", - "_prevEpochDuration()": "5a36aa74", - "_prevEpochDurationInit()": "6e0f2455", - "_prevEpochDurationInitIndex()": "98ccba4a", - "burner()": "27810b6e", - "collateral()": "d8dfeb45", - "delegator()": "ce9b7930", - "depositLimit()": "ecf70858", - "depositWhitelist()": "48d3b775", - "flashFeeRate()": "e945da7f", - "flashFeeReceiver()": "a8b24f9a", - "flashLoanEnabled()": "65d61c6c", - "getRoleAdmin(bytes32)": "248a9ca3", - "grantRole(bytes32,address)": "2f2ff15d", - "hasRole(bytes32,address)": "91d14854", - "initialize(uint64,address,bytes)": "57ec83cc", - "isDelegatorInitialized()": "50861adc", - "isDepositLimit()": "a1b12202", - "isDepositorWhitelisted(address)": "794b15b7", - "isSlasherInitialized()": "6ec1e3f8", - "isWithdrawalsClaimed(uint256,address)": "a5d03223", - "migrate(uint64,bytes)": "2abe3048", - "owner()": "8da5cb5b", - "renounceOwnership()": "715018a6", - "renounceRole(bytes32,address)": "36568abe", - "revokeRole(bytes32,address)": "d547741f", - "slasher()": "b1344271", - "staticDelegateCall(address,bytes)": "9f86fd85", - "supportsInterface(bytes4)": "01ffc9a7", - "transferOwnership(address)": "f2fde38b", - "version()": "54fd4d50", - "withdrawalShares(uint256)": "afba70ad", - "withdrawalSharesOf(uint256,address)": "a3b54172", - "withdrawals(uint256)": "5cc07076" - }, - "rawMetadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/Vault.sol\":\"Vault\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]}},\"version\":1}", - "metadata": { - "compiler": { "version": "0.8.25+commit.b61c2a91" }, - "language": "Solidity", - "output": { - "abi": [ - { - "inputs": [ - { - "internalType": "address", - "name": "vaultFactory", - "type": "address" - }, - { - "internalType": "address", - "name": "implementation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "constructor" - }, - { - "inputs": [], - "type": "error", - "name": "AccessControlBadConfirmation" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" }, - { - "internalType": "bytes32", - "name": "neededRole", - "type": "bytes32" - } - ], - "type": "error", - "name": "AccessControlUnauthorizedAccount" - }, - { "inputs": [], "type": "error", "name": "AlreadyInitialized" }, - { "inputs": [], "type": "error", "name": "AlreadySet" }, - { "inputs": [], "type": "error", "name": "InsufficientExitWindow" }, - { "inputs": [], "type": "error", "name": "InvalidAccount" }, - { "inputs": [], "type": "error", "name": "InvalidCollateral" }, - { "inputs": [], "type": "error", "name": "InvalidEpochDuration" }, - { - "inputs": [], - "type": "error", - "name": "InvalidEpochDurationSetEpochsDelay" - }, - { "inputs": [], "type": "error", "name": "InvalidFlashParams" }, - { "inputs": [], "type": "error", "name": "InvalidInitialization" }, - { "inputs": [], "type": "error", "name": "InvalidOrigin" }, - { "inputs": [], "type": "error", "name": "MissingRoles" }, - { "inputs": [], "type": "error", "name": "NoDepositWhitelist" }, - { "inputs": [], "type": "error", "name": "NotFactory" }, - { "inputs": [], "type": "error", "name": "NotInitialized" }, - { "inputs": [], "type": "error", "name": "NotInitializing" }, - { - "inputs": [ - { "internalType": "address", "name": "owner", "type": "address" } - ], - "type": "error", - "name": "OwnableInvalidOwner" - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "type": "error", - "name": "OwnableUnauthorizedAccount" - }, - { - "inputs": [], - "type": "error", - "name": "ReentrancyGuardReentrantCall" - }, - { - "inputs": [ - { "internalType": "uint8", "name": "bits", "type": "uint8" }, - { "internalType": "uint256", "name": "value", "type": "uint256" } - ], - "type": "error", - "name": "SafeCastOverflowedUintDowncast" - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "version", - "type": "uint64", - "indexed": false - } - ], - "type": "event", - "name": "Initialized", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "address", - "name": "previousOwner", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "newOwner", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "OwnershipTransferred", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "previousAdminRole", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "bytes32", - "name": "newAdminRole", - "type": "bytes32", - "indexed": true - } - ], - "type": "event", - "name": "RoleAdminChanged", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleGranted", - "anonymous": false - }, - { - "inputs": [ - { - "internalType": "bytes32", - "name": "role", - "type": "bytes32", - "indexed": true - }, - { - "internalType": "address", - "name": "account", - "type": "address", - "indexed": true - }, - { - "internalType": "address", - "name": "sender", - "type": "address", - "indexed": true - } - ], - "type": "event", - "name": "RoleRevoked", - "anonymous": false - }, - { "inputs": [], "stateMutability": "payable", "type": "fallback" }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEFAULT_ADMIN_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSITOR_WHITELIST_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "DEPOSIT_WHITELIST_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "EPOCH_DURATION_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FACTORY", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_BASE", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RATE_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_FEE_RECEIVER_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "FLASH_LOAN_ENABLED_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "IS_DEPOSIT_LIMIT_SET_ROLE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "MIN_EXIT_WINDOW", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "RETURN_VALUE", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_epochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochDurationSetEpochsDelay", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_nextEpochInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDuration", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInit", - "outputs": [ - { "internalType": "uint48", "name": "", "type": "uint48" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "_prevEpochDurationInitIndex", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "burner", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "collateral", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "delegator", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositLimit", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "depositWhitelist", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeRate", - "outputs": [ - { "internalType": "uint256", "name": "", "type": "uint256" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashFeeReceiver", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "flashLoanEnabled", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" } - ], - "stateMutability": "view", - "type": "function", - "name": "getRoleAdmin", - "outputs": [ - { "internalType": "bytes32", "name": "", "type": "bytes32" } - ] - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "grantRole" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "hasRole", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "initialVersion", - "type": "uint64" - }, - { "internalType": "address", "name": "owner_", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "initialize" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDelegatorInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isDepositLimit", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isDepositorWhitelisted", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "isSlasherInitialized", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "isWithdrawalsClaimed", - "outputs": [ - { "internalType": "bool", "name": "value", "type": "bool" } - ] - }, - { - "inputs": [ - { - "internalType": "uint64", - "name": "newVersion", - "type": "uint64" - }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "migrate" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "owner", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceOwnership" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { - "internalType": "address", - "name": "callerConfirmation", - "type": "address" - } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "renounceRole" - }, - { - "inputs": [ - { "internalType": "bytes32", "name": "role", "type": "bytes32" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "revokeRole" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "slasher", - "outputs": [ - { "internalType": "address", "name": "", "type": "address" } - ] - }, - { - "inputs": [ - { "internalType": "address", "name": "target", "type": "address" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "staticDelegateCall" - }, - { - "inputs": [ - { - "internalType": "bytes4", - "name": "interfaceId", - "type": "bytes4" - } - ], - "stateMutability": "view", - "type": "function", - "name": "supportsInterface", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] - }, - { - "inputs": [ - { "internalType": "address", "name": "newOwner", "type": "address" } - ], - "stateMutability": "nonpayable", - "type": "function", - "name": "transferOwnership" - }, - { - "inputs": [], - "stateMutability": "view", - "type": "function", - "name": "version", - "outputs": [ - { "internalType": "uint64", "name": "", "type": "uint64" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalShares", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" }, - { "internalType": "address", "name": "account", "type": "address" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawalSharesOf", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - }, - { - "inputs": [ - { "internalType": "uint256", "name": "epoch", "type": "uint256" } - ], - "stateMutability": "view", - "type": "function", - "name": "withdrawals", - "outputs": [ - { "internalType": "uint256", "name": "amount", "type": "uint256" } - ] - } - ], - "devdoc": { - "kind": "dev", - "methods": { - "getRoleAdmin(bytes32)": { - "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}." - }, - "grantRole(bytes32,address)": { - "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event." - }, - "hasRole(bytes32,address)": { - "details": "Returns `true` if `account` has been granted `role`." - }, - "initialize(uint64,address,bytes)": { - "params": { - "data": "some data to use", - "initialVersion": "initial version of the entity", - "owner": "initial owner of the entity" - } - }, - "migrate(uint64,bytes)": { - "params": { - "data": "some data to use", - "newVersion": "new version of the entity" - } - }, - "owner()": { "details": "Returns the address of the current owner." }, - "renounceOwnership()": { - "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner." - }, - "renounceRole(bytes32,address)": { - "details": "Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event." - }, - "revokeRole(bytes32,address)": { - "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event." - }, - "staticDelegateCall(address,bytes)": { - "details": "It allows to use this contract's storage on-chain.", - "params": { - "data": "data to make a delegatecall with", - "target": "address of the contract to make a delegatecall to" - } - }, - "supportsInterface(bytes4)": { - "details": "See {IERC165-supportsInterface}." - }, - "transferOwnership(address)": { - "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner." - }, - "version()": { - "details": "Starts from 1.", - "returns": { "_0": "version of the entity" } - } - }, - "version": 1 - }, - "userdoc": { - "kind": "user", - "methods": { - "DEPOSITOR_WHITELIST_ROLE()": { - "notice": "Get a depositor whitelist status setter's role." - }, - "DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit setter's role." - }, - "DEPOSIT_WHITELIST_SET_ROLE()": { - "notice": "Get a deposit whitelist enabler/disabler's role." - }, - "EPOCH_DURATION_SET_ROLE()": { - "notice": "Get a epoch duration setter's role." - }, - "FACTORY()": { "notice": "Get the factory's address." }, - "FLASH_FEE_BASE()": { "notice": "Get a flash fee base." }, - "FLASH_FEE_RATE_SET_ROLE()": { - "notice": "Get a flash fee rate setter's role." - }, - "FLASH_FEE_RECEIVER_SET_ROLE()": { - "notice": "Get a flash fee receiver setter's role." - }, - "FLASH_LOAN_ENABLED_SET_ROLE()": { - "notice": "Get a flash loan enabled setter's role." - }, - "IS_DEPOSIT_LIMIT_SET_ROLE()": { - "notice": "Get a deposit limit enabler/disabler's role." - }, - "MIN_EXIT_WINDOW()": { - "notice": "The minimum period of time that must be available to exit in case of epoch increase after migration." - }, - "RETURN_VALUE()": { - "notice": "Get a value that must be returned by the flash loan borrower." - }, - "_epochDuration()": { - "notice": "Get a duration of the epoch (internal)." - }, - "_epochDurationInit()": { - "notice": "Get a time point of the epoch duration set (internal)." - }, - "_epochDurationInitIndex()": { - "notice": "Get the current epoch duration's first epoch (internal)." - }, - "_epochDurationSetEpochsDelay()": { - "notice": "Get a delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochDuration()": { - "notice": "Get a duration of the next epoch (internal)." - }, - "_nextEpochDurationInit()": { - "notice": "Get a time point of the next epoch duration set (internal)." - }, - "_nextEpochDurationSetEpochsDelay()": { - "notice": "Get the next delay for the epoch duration set in epochs (internal)." - }, - "_nextEpochInitIndex()": { - "notice": "Get a the next epoch duration's first epoch (internal)." - }, - "_prevEpochDuration()": { - "notice": "Get a duration of the previous epoch (internal)." - }, - "_prevEpochDurationInit()": { - "notice": "Get a time point of the previous epoch duration set (internal)." - }, - "_prevEpochDurationInitIndex()": { - "notice": "Get a the previous epoch duration's first epoch (internal)." - }, - "burner()": { - "notice": "Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)." - }, - "collateral()": { "notice": "Get a vault collateral." }, - "delegator()": { - "notice": "Get a delegator (it delegates the vault's stake to networks and operators)." - }, - "depositLimit()": { - "notice": "Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)." - }, - "depositWhitelist()": { - "notice": "Get if the deposit whitelist is enabled." - }, - "flashFeeRate()": { - "notice": "Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)." - }, - "flashFeeReceiver()": { "notice": "Get a flash fee receiver." }, - "flashLoanEnabled()": { - "notice": "Get if a flash loan mechanic is enabled." - }, - "initialize(uint64,address,bytes)": { - "notice": "Initialize this entity contract by using a given data and setting a particular version and owner." - }, - "isDelegatorInitialized()": { - "notice": "Get if the delegator is initialized." - }, - "isDepositLimit()": { "notice": "Get if the deposit limit is set." }, - "isDepositorWhitelisted(address)": { - "notice": "Get if a given account is whitelisted as a depositor." - }, - "isSlasherInitialized()": { - "notice": "Get if the slasher is initialized." - }, - "isWithdrawalsClaimed(uint256,address)": { - "notice": "Get if the withdrawals are claimed for a particular account at a given epoch." - }, - "migrate(uint64,bytes)": { - "notice": "Migrate this entity to a particular newer version using a given data." - }, - "slasher()": { - "notice": "Get a slasher (it provides networks a slashing mechanism)." - }, - "staticDelegateCall(address,bytes)": { - "notice": "Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)." - }, - "version()": { "notice": "Get the entity's version." }, - "withdrawalShares(uint256)": { - "notice": "Get a total number of withdrawal shares at a given epoch." - }, - "withdrawalSharesOf(uint256,address)": { - "notice": "Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)." - }, - "withdrawals(uint256)": { - "notice": "Get a total amount of the withdrawals at a given epoch." - } - }, - "version": 1 - } - }, - "settings": { - "remappings": [ - "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/", - "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/", - "ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/", - "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/", - "forge-std/=lib/forge-std/src/", - "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/", - "openzeppelin-contracts/=lib/openzeppelin-contracts/" - ], - "optimizer": { "enabled": true, "runs": 200 }, - "metadata": { "bytecodeHash": "ipfs" }, - "compilationTarget": { "src/contracts/vault/v1.1/Vault.sol": "Vault" }, - "evmVersion": "cancun", - "libraries": {}, - "viaIR": true - }, - "sources": { - "lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol": { - "keccak256": "0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225", - "urls": [ - "bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45", - "dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol": { - "keccak256": "0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a", - "urls": [ - "bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6", - "dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol": { - "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", - "urls": [ - "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", - "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol": { - "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", - "urls": [ - "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", - "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol": { - "keccak256": "0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866", - "urls": [ - "bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf", - "dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol": { - "keccak256": "0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab", - "urls": [ - "bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89", - "dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/access/IAccessControl.sol": { - "keccak256": "0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606", - "urls": [ - "bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1", - "dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol": { - "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7", - "urls": [ - "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b", - "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol": { - "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724", - "urls": [ - "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a", - "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol": { - "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c", - "urls": [ - "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba", - "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol": { - "keccak256": "0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341", - "urls": [ - "bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce", - "dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol": { - "keccak256": "0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b", - "urls": [ - "bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e", - "dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/proxy/Proxy.sol": { - "keccak256": "0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd", - "urls": [ - "bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac", - "dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol": { - "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", - "urls": [ - "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", - "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol": { - "keccak256": "0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310", - "urls": [ - "bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862", - "dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Address.sol": { - "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", - "urls": [ - "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", - "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Errors.sol": { - "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", - "urls": [ - "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", - "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/Panic.sol": { - "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", - "urls": [ - "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", - "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": { - "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", - "urls": [ - "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", - "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/Math.sol": { - "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", - "urls": [ - "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", - "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol": { - "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", - "urls": [ - "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", - "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol": { - "keccak256": "0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f", - "urls": [ - "bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44", - "dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp" - ], - "license": "MIT" - }, - "lib/openzeppelin-contracts/contracts/utils/types/Time.sol": { - "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", - "urls": [ - "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", - "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" - ], - "license": "MIT" - }, - "src/contracts/common/MigratableEntity.sol": { - "keccak256": "0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7", - "urls": [ - "bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf", - "dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL" - ], - "license": "BUSL-1.1" - }, - "src/contracts/common/StaticDelegateCallable.sol": { - "keccak256": "0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90", - "urls": [ - "bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764", - "dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD" - ], - "license": "BUSL-1.1" - }, - "src/contracts/libraries/Checkpoints.sol": { - "keccak256": "0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c", - "urls": [ - "bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609", - "dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE" - ], - "license": "MIT" - }, - "src/contracts/vault/v1.1/Vault.sol": { - "keccak256": "0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f", - "urls": [ - "bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7", - "dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX" - ], - "license": "BUSL-1.1" - }, - "src/contracts/vault/v1.1/VaultStorage.sol": { - "keccak256": "0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7", - "urls": [ - "bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70", - "dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu" - ], - "license": "BUSL-1.1" - }, - "src/interfaces/common/IMigratableEntity.sol": { - "keccak256": "0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4", - "urls": [ - "bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c", - "dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds" - ], - "license": "MIT" - }, - "src/interfaces/common/IStaticDelegateCallable.sol": { - "keccak256": "0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5", - "urls": [ - "bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516", - "dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVault.sol": { - "keccak256": "0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105", - "urls": [ - "bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd", - "dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh" - ], - "license": "MIT" - }, - "src/interfaces/vault/v1.1/IVaultStorage.sol": { - "keccak256": "0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022", - "urls": [ - "bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882", - "dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6" - ], - "license": "MIT" - } - }, - "version": 1 - }, - "id": 129 -} +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c034610115576126a8906001600160401b0390601f38849003908101601f19168201908382118383101761011957808391604096879485528339810103126101155761005760206100508361012d565b920161012d565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c166101045780808316036100c0575b50505060805260a052516125669081610142823960805181818161056601526106d1015260a051816122a70152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101155756fe60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122045dec33bb2d6d2214ffd0b02e78684e05a9b1a9af2589348e5405f6d74a15bfc64736f6c63430008190033","sourceMap":"852:7472:106:-:0;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;852:7472:106;;;;;;;;;7896:76:26;;852:7472:106;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1444:31:106;;852:7472;;;;;;;927:17:82;852:7472:106;;;;;;;;;;1444:31;852:7472;;;;;;7981:146:26;-1:-1:-1;;;;;;852:7472:106;;;;;;;;;;;;;8087:29:26;;852:7472:106;;8087:29:26;7981:146;;;;;7896:76;852:7472:106;;-1:-1:-1;;;7938:23:26;;;;;852:7472:106;-1:-1:-1;852:7472:106;;;;;;-1:-1:-1;852:7472:106;;;;;-1:-1:-1;852:7472:106;;;;-1:-1:-1;;;;;852:7472:106;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361061229d575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b0361229d5761112d565b611110565b6110f3565b6110d5565b6110b8565b61107e565b611053565b611007565b610fdf565b610fb7565b610f9a565b610f72565b610f38565b610f1b565b610ef3565b610ec9565b610ea1565b610e67565b610e21565b610dd4565b610d9a565b610d80565b610d5c565b610d34565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206124f18339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061251183398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612511833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e92611a19565b5f80516020612511833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f805160206124f1833981519152602052610758600160405f200154611ae4565b611f53565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b90600435611f89565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206125118339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206125118339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612511833981519152600160401b68ff000000000000000019825416179055565b611230565b5f80516020612511833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c612265565b5f805160206124d183398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f805160206124d1833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f805160206124f1833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c1576040806003193601126103c157600435610c8581610700565b6024356001600160401b0381116103c1575f80610d2393610cac60809436906004016104cd565b908188519283928337810184815203915af43d15610d2b5760203d610cd0816111df565b90610cdd8751928361118f565b81523d5f8383013e5b8551958693151583850152808401528051918291826060860152018484015e5f838284010152601f8019910116810103606081018452018261118f565b805190602001fd5b60206060610ce6565b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610e18602435610df681610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e4581610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b60243560043561102a82610700565b805f525f805160206124f183398151915260205261104e600160405f200154611ae4565b611f89565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561114d81610700565b611155612265565b6119a8565b634e487b7160e01b5f52604160045260245ffd5b61010081019081106001600160401b0382111761118a57604052565b61115a565b90601f801991011681019081106001600160401b0382111761118a57604052565b604051906111bd8261116e565b565b6040519061028082018281106001600160401b0382111761118a57604052565b6001600160401b03811161118a57601f01601f191660200190565b929192611206826111df565b91611214604051938461118f565b8294818452818301116103c1578281602093845f960137010152565b919061128b61129a916112416122d9565b6112496122d9565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f008190556001600160a01b039590949080871661198e575b5036916111fa565b602080825183010191016120b6565b805190919083166001600160a01b03161561197c5760409081830165ffffffffffff6112cc825165ffffffffffff1690565b161561196b57610140840180519093906112f6906001600160a01b03165b6001600160a01b031690565b1561183a575b606085019261131261130e8551151590565b1590565b8061182b575b61181a576101a086015f825b611760575b5050845161134091506001600160a01b03166112ea565b156115ba575b60c08501519060e086015161135a90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916113a16111b0565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526113fd90612307565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b039092169190911790556114644261249e565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156114ce9060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316611564916101e0918085166115aa575b506101608101516001600160a01b031684811661159a575b506101808101516001600160a01b031684811661158a575b506101c08101516001600160a01b031684811661157a575b5001516001600160a01b031690565b90811661156e5750565b61157790611d97565b50565b61158390611d28565b505f611555565b61159390611cb9565b505f61153d565b6115a390611be3565b505f611525565b6115b390611b32565b505f61150d565b60e0850151156116b0576101208501516115dc906001600160a01b03166112ea565b61166f576102408501516115f8906001600160a01b03166112ea565b61164357610260850151611614906001600160a01b03166112ea565b151580611636575b611626575b611346565b51630331eb0f60e41b8152600490fd5b506101008501511561161c565b61026085015161165b906001600160a01b03166112ea565b6116215751630331eb0f60e41b8152600490fd5b610240850151611687906001600160a01b03166112ea565b15806116a3575b156116215751630331eb0f60e41b8152600490fd5b506101008501511561168e565b6102208501516116c8906001600160a01b03166112ea565b15806116e4575b156113465751630331eb0f60e41b8152600490fd5b506101208501516116fd906001600160a01b03166112ea565b15801590611752575b8015611732575b806116cf575061024085015161172b906001600160a01b03166112ea565b15156116cf565b5061026085015161174b906001600160a01b03166112ea565b151561170d565b506101008501511515611706565b81518051821015611814576112ea61177b836117889361223d565b516001600160a01b031690565b15611803576117c16117ba6117a161177b84865161223d565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6117f2579082826117ea6117dd6117a161177b8597875161223d565b805460ff19166001179055565b019091611324565b835163a741a04560e01b8152600490fd5b8351630da30f6560e31b8152600490fd5b50611329565b815163ebf503c560e01b8152600490fd5b506101a0860151511515611318565b610160850151611852906001600160a01b03166112ea565b15611908575b6101c0850151611870906001600160a01b03166112ea565b1561187b575b6112fc565b6080850151156118c55760a085015115806118a6575b156112fc575163183c854560e21b8152600490fd5b506101e08501516118bf906001600160a01b03166112ea565b15611891565b60a0850151158015906118e8575b15611876575163183c854560e21b8152600490fd5b506101e0850151611901906001600160a01b03166112ea565b15156118d3565b60608501511561193e5761018085015161192a906001600160a01b03166112ea565b611858575163183c854560e21b8152600490fd5b610180850151611956906001600160a01b03166112ea565b15611858575163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b6119a29061199a6122d9565b6111556122d9565b5f611283565b6001600160a01b03908116908115611a01575f805160206124d183398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b91611a306001926001600160401b039236916111fa565b921603611ad257808051610100928391810103126103c157611ac86111bd9260405192611a5c8461116e565b60208101518452611a6f60408201612039565b602085015260608101516040850152611a8a6080820161201b565b6060850152611a9b60a0820161201b565b6080850152611aac60c0820161201b565b60a0850152611abd60e0820161201b565b60c08501520161201b565b60e082015261244f565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206124f18339815191526020908152604080832033845290915290205460ff1615611b145750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206124f18339815191529060ff16611bdd575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206124f18339815191529060ff905b5416611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206124f18339815191529060ff90611c4e565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206124f18339815191529060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b038716855290915290912060ff90611c4e565b5f8181525f805160206124f1833981519152602081815260408084206001600160a01b03871685529091529091205460ff1615611cb2575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b51906111bd82610700565b519065ffffffffffff821682036103c157565b519081151582036103c157565b81601f820112156103c1578051916020916001600160401b03841161118a578360051b906040519461207a8584018761118f565b855283808601928201019283116103c1578301905b82821061209d575050505090565b83809183516120ab81610700565b81520191019061208f565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c1576120e86111bf565b926120f28361201b565b84526121006020840161201b565b602085015261211160408401612026565b604085015261212260608401612039565b606085015261213360808401612039565b608085015260a083015160a085015260c083015160c085015261215860e08401612039565b60e0850152610100808401519085015261012061217681850161201b565b9085015261014061218881850161201b565b9085015261016061219a81850161201b565b908501526101806121ac81850161201b565b908501526101a091828401519182116103c1576121ca918401612046565b908301526101c06121dc81830161201b565b908301526101e06121ee81830161201b565b9083015261020061220081830161201b565b9083015261022061221281830161201b565b9083015261024061222481830161201b565b9083015261223661026080920161201b565b9082015290565b80518210156122515760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b5f805160206124d1833981519152546001600160a01b0316330361228557565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e156122d5573d5ff35b3d5ffd5b60ff5f805160206125118339815191525460401c16156122f557565b604051631afcd79f60e31b8152600490fd5b6003815110612429576060810180516001600160a01b039291908316158061241c575b61240a57816123a361238160e0936123456123de9651600f55565b6123746123556020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b61177b6040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b03168481166123fa575b5060c08101516001600160a01b03168481166123f1575001516001600160a01b031690565b9081166123e85750565b61157790611ee4565b61158390611e75565b61240390611e06565b505f6123b9565b604051630331eb0f60e41b8152600490fd5b506040820151151561232a565b6040516317a509b960e31b8152600490fd5b634e487b7160e01b5f52601160045260245ffd5b61245881612307565b5160011981019081116124995760015460d01c908181029181830414901517156124995762093a801161248757565b60405163119796df60e01b8152600490fd5b61243b565b65ffffffffffff908181116124b1571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a264697066735822122045dec33bb2d6d2214ffd0b02e78684e05a9b1a9af2589348e5405f6d74a15bfc64736f6c63430008190033","sourceMap":"852:7472:106:-:0;;;;;;2603:64:50;852:7472:106;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;852:7472:106;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;852:7472:106;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;852:7472:106;-1:-1:-1;852:7472:106;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;757:38:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;612:37:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;-1:-1:-1;852:7472:106;-1:-1:-1;;;;;;;;;;;852:7472:106;;;4919:24:23;852:7472:106;-1:-1:-1;852:7472:106;4919:24:23;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;3788:34:108;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;852:7472:106;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;852:7472:106;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;852:7472:106;;;;;;;;;;;6431:44:26;;;;852:7472:106;6427:105:26;;-1:-1:-1;;852:7472:106;;;;;;;;;-1:-1:-1;;;;;;;;;;;852:7472:106;;-1:-1:-1;;;;852:7472:106;-1:-1:-1;;;852:7472:106;;;6656:20:26;;;;852:7472:106;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7472:106;;-1:-1:-1;;;;852:7472:106;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;852:7472:106;6427:105:26;852:7472:106;;-1:-1:-1;;;6498:23:26;;852:7472:106;;6498:23:26;6431:44;852:7472:106;;;;6450:25:26;;;6431:44;;1655:71:82;852:7472:106;;-1:-1:-1;;;1703:12:82;;852:7472:106;;1703:12:82;3666:88:30;852:7472:106;;-1:-1:-1;;;3713:30:30;;852:7472:106;;3713:30:30;852:7472:106;;;;;;-1:-1:-1;;852:7472:106;;;;;;655:32:82;-1:-1:-1;;;;;852:7472:106;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;:::o;:::-;;;;;;-1:-1:-1;;852:7472:106;;;;5350:25:23;852:7472:106;;;;;;;:::i;:::-;;-1:-1:-1;852:7472:106;-1:-1:-1;;;;;;;;;;;852:7472:106;;3202:4:23;4919:24;852:7472:106;-1:-1:-1;852:7472:106;4919:24:23;852:7472:106;3202:4:23;:::i;:::-;5350:25;:::i;852:7472:106:-;;;;;;-1:-1:-1;;852:7472:106;;;;;2129:28:108;852:7472:106;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;1479:40:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;852:7472:106;;6441:34:23;6437:102;;6549:37;852:7472:106;;;6549:37:23;:::i;6437:102::-;852:7472:106;;-1:-1:-1;;;6498:30:23;;852:7472:106;;6498:30:23;852:7472:106;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;2293:34:108;852:7472:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;-1:-1:-1;;;;;;;;;;;;;;;;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;852:7472:106;;;;;;734:29:82;730:87;;852:7472:106;;;;;6431:44:26;;;;;852:7472:106;6427:105:26;;;6656:20;852:7472:106;6656:20:26;852:7472:106;1167:340:82;852:7472:106;;;;-1:-1:-1;;;;;852:7472:106;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;852:7472:106;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7472:106;;-1:-1:-1;;;;852:7472:106;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;6656:20:26;;;;852:7472:106;6427:105:26;852:7472:106;;-1:-1:-1;;;6498:23:26;;852:7472:106;;6498:23:26;6431:44;852:7472:106;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;852:7472:106;;-1:-1:-1;;;786:20:82;;852:7472:106;;786:20:82;852:7472:106;;;;;;-1:-1:-1;;852:7472:106;;;;;;3667:32:108;852:7472:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;-1:-1:-1;852:7472:106;2756:59:108;852:7472:106;;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;1041:36:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;1714:45:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;4048:28:108;852:7472:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;3624:36:108;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;2461:32:108;852:7472:106;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;852:7472:106;;-1:-1:-1;;;;;;852:7472:106;;;;;;;-1:-1:-1;;;;;852:7472:106;3975:40:24;852:7472:106;;3975:40:24;852:7472:106;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;852:7472:106;2632:68:108;852:7472:106;;;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;-1:-1:-1;;;;;;;;;;;852:7472:106;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;3901:31:23;852:7472:106;;;;;:::i;:::-;;;-1:-1:-1;852:7472:106;-1:-1:-1;;;;;;;;;;;852:7472:106;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;;;;;;3901:31:23;852:7472:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;3575:42:108;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;3530:38:108;852:7472:106;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;852:7472:106;;;;-1:-1:-1;852:7472:106;477:31:86;852:7472:106;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;852:7472:106;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;477:31:86;;;852:7472:106;;;;;;;;;;;;;;;;;;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;;;477:31:86;852:7472:106;477:31:86;;;;;;;:::i;:::-;518:79;;;852:7472:106;518:79:86;;852:7472:106;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;2090:32:108;852:7472:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;900:35:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;2991:94:108;852:7472:106;;;;;:::i;:::-;;;-1:-1:-1;852:7472:106;2991:94:108;852:7472:106;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;;;;;;2991:94:108;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;3141:92:108;852:7472:106;;;;;:::i;:::-;;;-1:-1:-1;852:7472:106;3141:92:108;852:7472:106;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;1187:40:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;3961:31:108;852:7472:106;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;-1:-1:-1;852:7472:106;2871:64:108;852:7472:106;;;;-1:-1:-1;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;2383:22:108;852:7472:106;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;3426:43:108;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;1333:36:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;3749:32:108;852:7472:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;3476:47:108;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;3706:36:108;852:7472:106;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;2213:24:108;852:7472:106;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;5767:26:23;852:7472:106;;;;;;;:::i;:::-;;-1:-1:-1;852:7472:106;-1:-1:-1;;;;;;;;;;;852:7472:106;;3202:4:23;4919:24;852:7472:106;-1:-1:-1;852:7472:106;4919:24:23;852:7472:106;3202:4:23;:::i;:::-;5767:26;:::i;852:7472:106:-;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;466:39:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;3878:27:108;852:7472:106;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;1616:3:108;852:7472:106;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;;;;;;;-1:-1:-1;;852:7472:106;;;;;;;1285:6;852:7472;;;;;;;;;-1:-1:-1;;852:7472:106;;;;2357:1:24;852:7472:106;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;852:7472:106:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;:::o;:::-;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;:::o;:::-;-1:-1:-1;;;;;852:7472:106;;;;;;-1:-1:-1;;852:7472:106;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;852:7472:106;;;;;;:::o;1167:340:82:-;;;852:7472:106;3138:37;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;;;-1:-1:-1;;;;;852:7472:106;1949:1:30;;1991;852:7472:106;;;1376:73:82;;1167:340;852:7472:106;;;;:::i;:::-;3138:37;852:7472;;;3138:37;;;;;;:::i;:::-;852:7472;;;;;;;-1:-1:-1;;;;;852:7472:106;3190:31;3186:95;;3295:20;;;;;852:7472;;;;;;;;;;3295:25;3291:92;;3397:29;;;852:7472;;3397:29;;852:7472;3397:43;;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;;;;;852:7472:106;;;3397:43;;3393:971;;1167:340:82;4379:23:106;;;852:7472;4378:24;852:7472;;;;;;;;4378:24;;852:7472;4378:24;:67;;;1167:340:82;4374:132:106;;4536:28;;;-1:-1:-1;4521:9:106;1949:1:30;;;4516:411:106;-1:-1:-1;;852:7472:106;;4941:43;;-1:-1:-1;;;;;;852:7472:106;;;4941:43;;4937:1254;;4516:411;6304:34;;;852:7472;6374:23;;;;852:7472;;;;;;;;6429:19;;;852:7472;6484:23;;;852:7472;6553:33;;;852:7472;6635:36;;;852:7472;6716:32;;;852:7472;6797:36;;;852:7472;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3138:37;6236:612;;852:7472;6236:612;;852:7472;-1:-1:-1;;;;;852:7472:106;4379:23;6236:612;;852:7472;-1:-1:-1;;;;;852:7472:106;6236:612;;;852:7472;-1:-1:-1;;;;;852:7472:106;6236:612;;;852:7472;-1:-1:-1;;;;;852:7472:106;6304:34;6236:612;;852:7472;-1:-1:-1;;;;;852:7472:106;6374:23;6236:612;;852:7472;6236:612;;;:::i;:::-;852:7472;;-1:-1:-1;;;;;852:7472:106;1398:1:82;852:7472:106;;-1:-1:-1;;;;;;852:7472:106;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;3138:37;6919:13;;852:7472;-1:-1:-1;;;;;852:7472:106;;;;-1:-1:-1;;;;;;852:7472:106;-1:-1:-1;;;;;852:7472:106;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;1949:1:30;852:7472:106;;-1:-1:-1;;;;852:7472:106;;;;;;-1:-1:-1;;;852:7472:106;;;;;;;;;;1949:1:30;852:7472:106;;-1:-1:-1;;;;;852:7472:106;;;;;;-1:-1:-1;;;;;;852:7472:106;;;;;;;;;;7038:42;;852:7472;;;1398:1:82;852:7472:106;;;;;;;1398:1:82;852:7472:106;;7038:42;6236:612;7108:21;;852:7472;1398:1:82;852:7472:106;;-1:-1:-1;;852:7472:106;;;;;;;;;;;;;;6236:612;7154:19;;852:7472;7139:34;1991:1:30;852:7472:106;-1:-1:-1;;;;;852:7472:106;;;7821:32;;852:7472;;;7184:135;;4516:411;-1:-1:-1;7332:36:106;;;852:7472;-1:-1:-1;;;;;852:7472:106;;;;7328:157;;4516:411;-1:-1:-1;7498:35:106;;;852:7472;-1:-1:-1;;;;;852:7472:106;;;;7494:153;;4516:411;-1:-1:-1;7660:34:106;;;852:7472;-1:-1:-1;;;;;852:7472:106;;;;7656:152;;4516:411;-1:-1:-1;7821:32:106;852:7472;-1:-1:-1;;;;;852:7472:106;;;;;;;7817:145;;1167:340:82;:::o;7817:145:106:-;7883:68;;;:::i;:::-;;1167:340:82:o;7656:152:106:-;7724:73;;;:::i;:::-;;7656:152;;;7494:153;7563:73;;;:::i;:::-;;7494:153;;;7328:157;7398:76;;;:::i;:::-;;7328:157;;;7184:135;7247:61;;;:::i;:::-;;7184:135;;;4937:1254;5004:23;;;852:7472;;5004:23;;5051;;;852:7472;5051:37;;-1:-1:-1;;;;;852:7472:106;;;5051:37;:23;;5116:32;;;852:7472;5116:46;;-1:-1:-1;;;;;852:7472:106;;;5116:46;:32;;5194:36;;;852:7472;5194:50;;-1:-1:-1;;;;;852:7472:106;;;5194:50;;;:78;;;5112:420;5190:175;;5112:420;4937:1254;;5190:175;852:7472;-1:-1:-1;;;5311:27:106;;;;;5194:78;5248:19;;;;852:7472;5248:24;5194:78;;5112:420;5397:36;;;852:7472;5397:50;;-1:-1:-1;;;;;852:7472:106;;;5397:50;5112:420;5393:139;852:7472;-1:-1:-1;;;5482:27:106;;;;;5047:664;5560:32;;;852:7472;5560:46;;-1:-1:-1;;;;;852:7472:106;;;5560:46;;:74;;;5047:664;5556:155;5047:664;5556:155;852:7472;-1:-1:-1;;;5665:27:106;;;;;5560:74;5610:19;;;;852:7472;5610:24;5560:74;;5000:1181;5752:36;;;852:7472;5752:50;;-1:-1:-1;;;;;852:7472:106;;;5752:50;;:347;;;5000:1181;5731:450;4937:1254;5731:450;852:7472;-1:-1:-1;;;6139:27:106;;;;;5752:347;-1:-1:-1;5852:23:106;;;852:7472;5852:37;;-1:-1:-1;;;;;852:7472:106;;;5852:37;;;;:65;;;5752:347;5852:147;;;;5752:347;5852:225;5752:347;5852:225;-1:-1:-1;6031:32:106;;;852:7472;6031:46;;-1:-1:-1;;;;;852:7472:106;;;6031:46;;;5752:347;;5852:147;-1:-1:-1;5949:36:106;;;852:7472;5949:50;;-1:-1:-1;;;;;852:7472:106;;;5949:50;;;5852:147;;:65;5893:19;;;;852:7472;5893:24;;5852:65;;4573:3;4536:28;;852:7472;;4532:39;;;;;4596:31;;;:45;:31;;:::i;:::-;852:7472;-1:-1:-1;;;;;852:7472:106;;;4596:45;;4592:114;;4724:55;;4747:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;852:7472:106;;;;;4724:22;852:7472;;;;;;;4724:55;852:7472;;;;;4724:55;4720:120;;4877:28;;;4854:62;:55;4877:31;;:28;;;;:31;:::i;4854:55::-;852:7472;;-1:-1:-1;;852:7472:106;1949:1:30;852:7472:106;;;;4854:62;852:7472;4521:9;;;;4720:120;852:7472;;-1:-1:-1;;;4806:19:106;;;;;4592:114;852:7472;;-1:-1:-1;;;4668:23:106;;;;;4532:39;;;;4374:132;852:7472;;-1:-1:-1;;;4468:27:106;;;;;4378:67;4406:28;;;;;852:7472;4406:39;;4378:67;;3393:971;3460:36;;;852:7472;3460:50;;-1:-1:-1;;;;;852:7472:106;;;3460:50;;3456:419;;3393:971;3893:34;;;852:7472;3893:48;;-1:-1:-1;;;;;852:7472:106;;;3893:48;;3889:465;;3393:971;;;3889:465;3965:21;;;852:7472;;3965:21;;4014:19;;;852:7472;4014:24;:74;;;3961:379;4010:157;3393:971;4010:157;852:7472;-1:-1:-1;;;4123:21:106;;;;;4014:74;-1:-1:-1;4042:32:106;;;852:7472;4042:46;;-1:-1:-1;;;;;852:7472:106;;;4042:46;;4014:74;;3961:379;4195:19;;;852:7472;4195:24;;;:74;;;3961:379;4191:149;3889:465;4191:149;852:7472;-1:-1:-1;;;4300:21:106;;;;;4195:74;-1:-1:-1;4223:32:106;;;852:7472;4223:46;;-1:-1:-1;;;;;852:7472:106;;;4223:46;;;4195:74;;3456:419;3534:23;;;852:7472;;3534:23;;3585:35;;;852:7472;3585:49;;-1:-1:-1;;;;;852:7472:106;;;3585:49;3456:419;3581:132;852:7472;-1:-1:-1;;;3669:21:106;;;;;3530:331;3741:35;;;852:7472;3741:49;;-1:-1:-1;;;;;852:7472:106;;;3741:49;3737:124;3456:419;3737:124;852:7472;-1:-1:-1;;;3821:21:106;;;;;3291:92;852:7472;;-1:-1:-1;;;3343:29:106;;;;;3186:95;852:7472;;-1:-1:-1;;;3244:26:106;;;;;1376:73:82;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;3405:215:24;-1:-1:-1;;;;;852:7472:106;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;852:7472:106;;-1:-1:-1;;;;;;852:7472:106;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;852:7472:106;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;852:7472:106;;;3534:31:24;1809:204:82;;852:7472:106;8109:1;1809:204:82;-1:-1:-1;;;;;1809:204:82;852:7472:106;;;:::i;:::-;;;8095:15;8109:1;;852:7472;;;;8165:40;;;;;852:7472;;;;;8238:6;852:7472;;;;;;;:::i;:::-;8165:40;;;852:7472;;;;;;;;:::i;:::-;8165:40;852:7472;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;8238:6;:::i;8091:225::-;852:7472;;-1:-1:-1;;;8283:22:106;;;;;4148:103:23;-1:-1:-1;852:7472:106;;;-1:-1:-1;;;;;;;;;;;852:7472:106;;;;;;;;966:10:28;852:7472:106;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;852:7472:106;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;852:7472:106;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;852:7472:106;;1398:1:82;852:7472:106;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;;;1398:1:82;852:7472:106;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;-1:-1:-1;;852:7472:106;7509:4:23;852:7472:106;;;966:10:28;;-1:-1:-1;;;;;852:7472:106;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;1398:1:82;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;852:7472:106;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;3901:31:23;852:7472:106;;;;-1:-1:-1;852:7472:106;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;-1:-1:-1;;852:7472:106;7509:4:23;852:7472:106;;;966:10:28;;-1:-1:-1;;;;;852:7472:106;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;852:7472:106;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;3901:31:23;852:7472:106;7270:387:23;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;852:7472:106;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;3901:31:23;852:7472:106;7270:387:23;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;852:7472:106;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;3901:31:23;852:7472:106;7270:387:23;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;852:7472:106;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;3901:31:23;852:7472:106;7270:387:23;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;852:7472:106;;;;;;;;;1333:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;3901:31:23;852:7472:106;7270:387:23;-1:-1:-1;;;;;852:7472:106;;-1:-1:-1;852:7472:106;;;;;;;;;1479:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;852:7472:106;;3901:31:23;852:7472:106;7270:387:23;-1:-1:-1;852:7472:106;;;-1:-1:-1;;;;;;;;;;;852:7472:106;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;3901:31:23;852:7472:106;7892:388:23;-1:-1:-1;852:7472:106;;;-1:-1:-1;;;;;;;;;;;852:7472:106;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;;;-1:-1:-1;852:7472:106;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;-1:-1:-1;;852:7472:106;;;966:10:28;;-1:-1:-1;;;;;852:7472:106;;8155:40:23;-1:-1:-1;;8155:40:23;852:7472:106;8209:11:23;:::o;852:7472:106:-;;;;;;:::i;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;852:7472:106;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;2658:162:24;-1:-1:-1;;;;;;;;;;;852:7472:106;-1:-1:-1;;;;;852:7472:106;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;852:7472:106;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;852:7472:106;;;2763:40:24;2323:83:50;1019:819;;;;;;;1614:14:106;;1019:819:50;;;;;;;;;;;;;;;;7084:141:26;852:7472:106;-1:-1:-1;;;;;;;;;;;852:7472:106;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;852:7472:106;;-1:-1:-1;;;7191:17:26;;;;;1641:1070:106;1782:1;852:7472;;1745:38;1741:119;;1874:23;;;852:7472;;-1:-1:-1;;;;;852:7472:106;1874:23;;852:7472;;1874:37;;:65;;1641:1070;1870:130;;852:7472;2182:42;852:7472;2551:36;852:7472;2010:65;852:7472;;;2010:65;1991:1:30;;2010:65:106;2086:42;852:7472;2105:23;;;852:7472;;;;;;2086:42;852:7472;;-1:-1:-1;;;;852:7472:106;;;;;;-1:-1:-1;;;852:7472:106;;;;;;;;2086:42;2138:34;2153:19;;;852:7472;2138:34;1991:1:30;;852:7472:106;;;;;;;;;;2086:42;852:7472;;;2086:42;852:7472;;2182:42;2239:33;;;852:7472;-1:-1:-1;;;;;852:7472:106;;;;2235:148;;1641:1070;-1:-1:-1;2396:32:106;;;852:7472;-1:-1:-1;;;;;852:7472:106;;;;2392:146;;-1:-1:-1;2551:36:106;852:7472;-1:-1:-1;;;;;852:7472:106;;;;;;;2547:158;;1641:1070;:::o;2547:158::-;2617:77;;;:::i;2392:146::-;2458:69;;;:::i;2235:148::-;2302:70;;;:::i;:::-;;2235:148;;;1870:130;852:7472;;-1:-1:-1;;;1962:27:106;;;;;1874:65;1915:19;;;;852:7472;1915:24;;1874:65;;1741:119;852:7472;;-1:-1:-1;;;1806:43:106;;;;;852:7472;;;;;;;;;;;;2717:286;2835:6;;;:::i;:::-;852:7472;-1:-1:-1;;852:7472:106;;;;;;;2900:14;852:7472;;;;;;;;;;;;;;;;;;1285:6;-1:-1:-1;2853:144:106;;2717:286::o;2853:144::-;852:7472;;-1:-1:-1;;;2955:31:106;;;;;852:7472;;:::i;14296:213:69:-;852:7472:106;14374:24:69;;;;14370:103;;852:7472:106;14296:213:69;:::o;14370:103::-;852:7472:106;;;;14421:41:69;;;;;;14452:2;14421:41;;;852:7472:106;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":8871,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/Vault.sol\":\"Vault\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x32cbef4fc9968aecab9ae35c4a809f4a4fa1a1778d4a1d3cb6cc1bcaa0663500\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://112452cbe72fb8d08e3fd19d4eb26a8ccdc42fc3490b1ddaa32e30612f85a342\",\"dweb:/ipfs/QmcBEfrc94VBzf3L3GNHVxmVvFcy4FVm5N67JJgTYnkADx\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6\",\"dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d\",\"dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/Vault.sol":"Vault"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x32cbef4fc9968aecab9ae35c4a809f4a4fa1a1778d4a1d3cb6cc1bcaa0663500","urls":["bzz-raw://112452cbe72fb8d08e3fd19d4eb26a8ccdc42fc3490b1ddaa32e30612f85a342","dweb:/ipfs/QmcBEfrc94VBzf3L3GNHVxmVvFcy4FVm5N67JJgTYnkADx"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7","urls":["bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6","dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q"],"license":"BUSL-1.1"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b","urls":["bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d","dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB"],"license":"MIT"}},"version":1},"id":106} \ No newline at end of file diff --git a/out/v1.1/VaultTokenized.sol/VaultTokenized.json b/out/v1.1/VaultTokenized.sol/VaultTokenized.json index 2101324..4af2807 100644 --- a/out/v1.1/VaultTokenized.sol/VaultTokenized.json +++ b/out/v1.1/VaultTokenized.sol/VaultTokenized.json @@ -1 +1 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c03461011c57612a12906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516128c99081610149823960805181818161056601526106d1015260a0518181816113680152611b2b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220db91309f3d3c8627f88e3d5c941d406a5c054a6a21a0163342ce16730aacd34c64736f6c63430008190033","sourceMap":"398:1418:132:-:0;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:27;;398:1418:132;;;;;;;;;7896:76:27;;398:1418:132;;;;7985:34:27;7981:146;;-1:-1:-1;927:17:102;;;;;1445:31:129;;398:1418:132;;;;;;;927:17:102;398:1418:132;;;;;;;;;;1445:31:129;398:1418:132;;;;;;;;;;;7981:146:27;-1:-1:-1;;;;;;398:1418:132;;;;;;;;;;;;;8087:29:27;;398:1418:132;;8087:29:27;7981:146;;;;;7896:76;398:1418:132;;-1:-1:-1;;;7938:23:27;;;;;398:1418:132;-1:-1:-1;398:1418:132;;;;;;-1:-1:-1;398:1418:132;;;;;-1:-1:-1;398:1418:132;;;;-1:-1:-1;;;;;398:1418:132;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220db91309f3d3c8627f88e3d5c941d406a5c054a6a21a0163342ce16730aacd34c64736f6c63430008190033","sourceMap":"398:1418:132:-:0;;;;;;2603:64:52;398:1418:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:52;398:1418:132;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:24;;;:87;;;;398:1418:132;;;;;;;;;;3551:87:24;-1:-1:-1;;;1134:40:33;;-1:-1:-1;3551:87:24;;;398:1418:132;-1:-1:-1;398:1418:132;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;757:38:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;612:37:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;-1:-1:-1;398:1418:132;-1:-1:-1;;;;;;;;;;;398:1418:132;;;4919:24:24;398:1418:132;-1:-1:-1;398:1418:132;4919:24:24;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;4327:34:131;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;:::i;:::-;2499:73:31;;1991:1;398:1418:132;;3670:20:31;3666:88;;1991:1;;;1673:7:102;-1:-1:-1;;;;;398:1418:132;1659:10:102;:21;1655:71;;-1:-1:-1;;;;;;;;;;;398:1418:132;;;;;;;;;;;6431:44:27;;;;398:1418:132;6427:105:27;;-1:-1:-1;;398:1418:132;;;;;;;;;-1:-1:-1;;;;;;;;;;;398:1418:132;;-1:-1:-1;;;;398:1418:132;-1:-1:-1;;;398:1418:132;;;6656:20:27;;;;398:1418:132;;;;1809:204:102;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:132;;-1:-1:-1;;;;398:1418:132;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;6656:20:27;;;;3426:1:31;1949;2499:73;1991:1;3860:283;3426:1;398:1418:132;6427:105:27;398:1418:132;;-1:-1:-1;;;6498:23:27;;398:1418:132;;6498:23:27;6431:44;398:1418:132;;;;6450:25:27;;;6431:44;;1655:71:102;398:1418:132;;-1:-1:-1;;;1703:12:102;;398:1418:132;;1703:12:102;3666:88:31;398:1418:132;;-1:-1:-1;;;3713:30:31;;398:1418:132;;3713:30:31;398:1418:132;;;;;;-1:-1:-1;;398:1418:132;;;;;;655:32:102;-1:-1:-1;;;;;398:1418:132;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;:::o;:::-;;;;;;-1:-1:-1;;398:1418:132;;;;5350:25:24;398:1418:132;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:132;-1:-1:-1;;;;;;;;;;;398:1418:132;;3202:4:24;4919:24;398:1418:132;-1:-1:-1;398:1418:132;4919:24:24;398:1418:132;3202:4:24;:::i;:::-;5350:25;:::i;398:1418:132:-;;;;;;-1:-1:-1;;398:1418:132;;;;;2227:28:131;398:1418:132;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;1479:40:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;:::i;:::-;966:10:29;-1:-1:-1;;;;;398:1418:132;;6441:34:24;6437:102;;6549:37;398:1418:132;;;6549:37:24;:::i;6437:102::-;398:1418:132;;-1:-1:-1;;;6498:30:24;;398:1418:132;;6498:30:24;398:1418:132;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;2391:34:131;398:1418:132;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;-1:-1:-1;;;;;;;;;;;;;;;;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:27;;398:1418:132;;;;;;734:29:102;730:87;;398:1418:132;;;;;6431:44:27;;;;;398:1418:132;6427:105:27;;;6656:20;398:1418:132;6656:20:27;398:1418:132;1167:340:102;398:1418:132;;;;-1:-1:-1;;;;;398:1418:132;;;;;6575:22:27;-1:-1:-1;;;;;;;;;;;;;;398:1418:132;;;;;;;;;6575:22:27;1167:340:102;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:132;;-1:-1:-1;;;;398:1418:132;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;6656:20:27;;;;398:1418:132;6427:105:27;398:1418:132;;-1:-1:-1;;;6498:23:27;;398:1418:132;;6498:23:27;6431:44;398:1418:132;;;;;-1:-1:-1;6450:25:27;6431:44;;;730:87:102;398:1418:132;;-1:-1:-1;;;786:20:102;;398:1418:132;;786:20:102;398:1418:132;;;;;;-1:-1:-1;;398:1418:132;;;;;;4059:32:131;398:1418:132;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;-1:-1:-1;398:1418:132;2854:59:131;398:1418:132;;;;-1:-1:-1;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;1041:36:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;1714:45:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;4587:28:131;398:1418:132;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;3967:36:131;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;2559:32:131;398:1418:132;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;2303:62:25;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:132;;-1:-1:-1;;;;;;398:1418:132;;;;;;;-1:-1:-1;;;;;398:1418:132;3975:40:25;398:1418:132;;3975:40:25;398:1418:132;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;398:1418:132;2730:68:131;398:1418:132;;;;;-1:-1:-1;398:1418:132;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;-1:-1:-1;;;;;;;;;;;398:1418:132;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;3901:31:24;398:1418:132;;;;;:::i;:::-;;;-1:-1:-1;398:1418:132;-1:-1:-1;;;;;;;;;;;398:1418:132;;;-1:-1:-1;398:1418:132;;;;;;;;;;;;;;;;;3901:31:24;398:1418:132;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;3869:42:131;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;3775:38:131;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;398:1418:132;;;;-1:-1:-1;398:1418:132;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:106;;;;477:31;416:25;;:::i;:::-;398:1418:132;;;;;;;;;;477:31:106;;398:1418:132;;;;;;;;;;;:::i;:::-;477:31:106;;;;;;;;;:::i;:::-;518:79;;;398:1418:132;518:79:106;;398:1418:132;;;;;;-1:-1:-1;;398:1418:132;;;;;;2139:32:131;398:1418:132;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;900:35:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;3089:94:131;398:1418:132;;;;;:::i;:::-;;;-1:-1:-1;398:1418:132;3089:94:131;398:1418:132;;;-1:-1:-1;398:1418:132;;;;;;;;;;;;;;;;;3089:94:131;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;3239:92:131;398:1418:132;;;;;:::i;:::-;;;-1:-1:-1;398:1418:132;3239:92:131;398:1418:132;;;-1:-1:-1;398:1418:132;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;1187:40:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;4500:31:131;398:1418:132;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;-1:-1:-1;398:1418:132;2969:64:131;398:1418:132;;;;-1:-1:-1;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;2481:22:131;398:1418:132;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;3573:43:131;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;1333:36:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;4239:32:131;398:1418:132;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;3672:47:131;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;4147:36:131;398:1418:132;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;2311:24:131;398:1418:132;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;5767:26:24;398:1418:132;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:132;-1:-1:-1;;;;;;;;;;;398:1418:132;;3202:4:24;4919:24;398:1418:132;-1:-1:-1;398:1418:132;4919:24:24;398:1418:132;3202:4:24;:::i;:::-;5767:26;:::i;398:1418:132:-;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;466:39:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;4417:27:131;398:1418:132;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;1616:3:131;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:132;;;;;;;1286:6:129;398:1418:132;;;;;;;;;-1:-1:-1;;398:1418:132;;;;2357:1:25;398:1418:132;;;;;:::i;:::-;2303:62:25;;:::i;:::-;2357:1;:::i;398:1418:132:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:106;;398:1418:132;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;:::o;:::-;;;;6430:19:129;398:1418:132;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;:::o;:::-;-1:-1:-1;;;;;398:1418:132;;;;;;-1:-1:-1;;398:1418:132;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:132;;;;;;:::o;1167:340:102:-;;398:1418:132;1167:340:102;6893:76:27;;:::i;:::-;;;:::i;:::-;1949:1:31;2499:73;1991:1;-1:-1:-1;;;;;398:1418:132;;1376:73:102;;1167:340;398:1418:132;;;;:::i;:::-;;;740:55;;;;;;;;398:1418;;;;;;;;740:55;;;398:1418;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;929:107;398:1418;;929:107;398:1418;877:169;398:1418;;;;:::i;:::-;;;;;;;;848:17;398:1418;:::i;:::-;1007:11;1020:13;;398:1418;996:38;398:1418;;996:38;;;;;;;:::i;:::-;;477:31:106;996:38:132;477:31:106;;996:38:132;;;;;;;;:::i;:::-;398:1418;929:107;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;1615:14:129;877:169:132;:::i;:::-;;1167:340:102:o;1376:73::-;6961:1:27;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:102;;;398:1418:132;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;398:1418:132;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:132;;;;;;;;-1:-1:-1;;398:1418:132;;;;:::o;3405:215:25:-;-1:-1:-1;;;;;398:1418:132;;;;3489:22:25;;3485:91;;-1:-1:-1;;;;;;;;;;;398:1418:132;;-1:-1:-1;;;;;;398:1418:132;;;;;;;;3975:40:25;-1:-1:-1;;3975:40:25;3405:215::o;3485:91::-;398:1418:132;;-1:-1:-1;;;3534:31:25;;3509:1;3534:31;;;398:1418:132;;;3534:31:25;1809:204:102;;-1:-1:-1;;;;;1809:204:102;398:1418:132;1809:204:102;398:1418:132;;;:::i;:::-;;;1188:1;1174:15;;1188:1;;398:1418;1244:40;398:1418;1244:40;398:1418;1317:6;398:1418;;1244:40;;;;;;:::i;:::-;1317:6;:::i;:::-;1809:204:102:o;1170:638:132:-;1359:1;1345:15;1359:1;;1578:145;;1449:58;398:1418;1449:58;398:1418;1522:215;398:1418;;1449:58;;;;;;:::i;:::-;;1677:11;;1690:13;;;398:1418;1666:38;398:1418;;1666:38;;;1449:58;1666:38;;;:::i;:::-;;477:31:106;1666:38:132;477:31:106;;1666:38:132;;;;;;;;:::i;:::-;398:1418;;-1:-1:-1;;;1449:58:132;1578:145;;;398:1418;;;1578:145;;;;:::i;1341:467::-;398:1418;;-1:-1:-1;;;1775:22:132;;;;;4148:103:24;-1:-1:-1;398:1418:132;;;-1:-1:-1;;;;;;;;;;;398:1418:132;;;;;;;;966:10:29;398:1418:132;;;;;;;;;;4468:23:24;4464:108;;4148:103;:::o;4464:108::-;398:1418:132;;;;4514:47:24;;;;;;966:10:29;4514:47:24;;;398:1418:132;;;;;4514:47:24;7270:387;-1:-1:-1;;;;;398:1418:132;;3191:17:129;398:1418:132;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;;;3191:17:129;398:1418:132;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;-1:-1:-1;;398:1418:132;7509:4:24;398:1418:132;;;966:10:29;;-1:-1:-1;;;;;398:1418:132;-1:-1:-1;7532:40:24;-1:-1:-1;;7532:40:24;7509:4;7586:11;:::o;7432:219::-;7628:12;;3191:17:129;7628:12:24;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;398:1418:132;;;;;;;;;466:39:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;3901:31:24;398:1418:132;;;;-1:-1:-1;398:1418:132;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;-1:-1:-1;;398:1418:132;7509:4:24;398:1418:132;;;966:10:29;;-1:-1:-1;;;;;398:1418:132;;7532:40:24;-1:-1:-1;;7532:40:24;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:24;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;398:1418:132;;;;;;;;;612:37:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;3901:31:24;398:1418:132;7270:387:24;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;398:1418:132;;;;;;;;;757:38:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;3901:31:24;398:1418:132;7270:387:24;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;398:1418:132;;;;;;;;;900:35:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;3901:31:24;398:1418:132;7270:387:24;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;398:1418:132;;;;;;;;;1041:36:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;3901:31:24;398:1418:132;7270:387:24;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;398:1418:132;;;;;;;;;1333:36:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;3901:31:24;398:1418:132;7270:387:24;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;398:1418:132;;;;;;;;;1479:40:131;;-1:-1:-1;;;;;;;;;;;2887:71:24;398:1418:132;;3901:31:24;398:1418:132;7270:387:24;-1:-1:-1;398:1418:132;;;-1:-1:-1;;;;;;;;;;;398:1418:132;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;3901:31:24;398:1418:132;7892:388:24;-1:-1:-1;398:1418:132;;;-1:-1:-1;;;;;;;;;;;398:1418:132;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:132;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;-1:-1:-1;;398:1418:132;;;966:10:29;;-1:-1:-1;;;;;398:1418:132;;8155:40:24;-1:-1:-1;;8155:40:24;398:1418:132;8209:11:24;:::o;398:1418:132:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:132;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;2658:162:25:-;-1:-1:-1;;;;;;;;;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;966:10:29;2717:23:25;2713:101;;2658:162::o;2713:101::-;398:1418:132;;-1:-1:-1;;;2763:40:25;;966:10:29;2763:40:25;;;398:1418:132;;;2763:40:25;2323:83:52;1019:819;;;;;;;1615:14:129;;1019:819:52;;;;;;;;;;;;;;;;398:1418:132;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;7084:141:27:-;398:1418:132;-1:-1:-1;;;;;;;;;;;398:1418:132;;;;7150:18:27;7146:73;;7084:141::o;7146:73::-;398:1418:132;;-1:-1:-1;;;7191:17:27;;;;;398:1418:132;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3010:4959:129;3139:37;3010:4959;3139:37;398:1418:132;;;3139:37:129;;;;;;:::i;:::-;398:1418:132;;;;-1:-1:-1;;;;;398:1418:132;;;3191:31:129;3187:95;;3296:20;;;;;398:1418:132;;;;;;;;;;;3296:25:129;3292:92;;3398:29;;;398:1418:132;;3398:29:129;;398:1418:132;3398:43:129;;-1:-1:-1;;;;;398:1418:132;;-1:-1:-1;;;;;398:1418:132;;;3398:43:129;;3394:971;;3010:4959;4380:23;;;398:1418:132;4379:24:129;398:1418:132;;;;;;;;4379:24:129;;398:1418:132;4379:24:129;:67;;;3010:4959;4375:132;;4537:28;;;;4522:9;3191:17;4574:3;4537:28;;398:1418:132;;4533:39:129;;;;;4597:31;;;:45;:31;;:::i;:::-;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;4597:45:129;;4593:114;;4725:55;;4748:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;398:1418:132;;;;;4725:22:129;398:1418:132;;;;;;;4725:55:129;398:1418:132;;;;;4725:55:129;4721:120;;4878:28;4855:62;:55;4878:31;;398:1418:132;4878:28:129;;;:31;:::i;4855:55::-;398:1418:132;;-1:-1:-1;;398:1418:132;4913:4:129;398:1418:132;;;;4855:62:129;398:1418:132;4522:9:129;;4721:120;398:1418:132;;-1:-1:-1;;;4807:19:129;;;;;4593:114;398:1418:132;;-1:-1:-1;;;4669:23:129;;;;;4533:39;;;;;;;;;;4942:43;398:1418:132;;;;;;;;;;;4942:43:129;;4938:1254;;4517:411;6305:34;;;398:1418:132;6375:23:129;;;;398:1418:132;;;;;;;;6430:19:129;;;398:1418:132;6485:23:129;;;398:1418:132;6554:33:129;;;398:1418:132;6636:36:129;;;398:1418:132;6717:32:129;;;398:1418:132;6798:36:129;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3139:37:129;6237:612;;398:1418:132;6237:612:129;;398:1418:132;-1:-1:-1;;;;;398:1418:132;4380:23:129;6237:612;;398:1418:132;-1:-1:-1;;;;;398:1418:132;6237:612:129;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;6237:612:129;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;6305:34:129;6237:612;;398:1418:132;-1:-1:-1;;;;;398:1418:132;6375:23:129;6237:612;;398:1418:132;6237:612:129;;;:::i;:::-;398:1418:132;;-1:-1:-1;;;;;398:1418:132;3191:17:129;398:1418:132;;-1:-1:-1;;;;;;398:1418:132;;;;;;-1:-1:-1;;;;;398:1418:132;;;;;;;3139:37:129;6920:13;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;-1:-1:-1;;;;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;;;;;;819:34:79;837:15;819:34;:::i;:::-;4913:4:129;398:1418:132;;-1:-1:-1;;;;398:1418:132;;;;;;-1:-1:-1;;;398:1418:132;;;;;;;;;;4913:4:129;398:1418:132;;-1:-1:-1;;;;;398:1418:132;;;;;;-1:-1:-1;;;;;;398:1418:132;;;;;;;;;;7039:42:129;;398:1418:132;;;3191:17:129;398:1418:132;;;;;;;3191:17:129;398:1418:132;;7039:42:129;6237:612;7109:21;;398:1418:132;3191:17:129;398:1418:132;;-1:-1:-1;;398:1418:132;;;;;;;;;;;;;;6237:612:129;7155:19;;398:1418:132;7140:34:129;1991:1:31;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;7822:32:129;;398:1418:132;;;7185:135:129;;4517:411;-1:-1:-1;7333:36:129;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;7329:157:129;;4517:411;-1:-1:-1;7499:35:129;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;7495:153:129;;4517:411;-1:-1:-1;7661:34:129;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;7657:152:129;;4517:411;-1:-1:-1;7822:32:129;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;;;;7818:145:129;;3010:4959;:::o;7818:145::-;7884:68;;;:::i;7657:152::-;7725:73;;;:::i;:::-;;7657:152;;;7495:153;7564:73;;;:::i;:::-;;7495:153;;;7329:157;7399:76;;;:::i;:::-;;7329:157;;;7185:135;7248:61;;;:::i;:::-;;7185:135;;;4938:1254;5005:23;;;398:1418:132;;5005:23:129;;5052;;;398:1418:132;5052:37:129;;-1:-1:-1;;;;;398:1418:132;;;5052:37:129;:23;;5117:32;;;398:1418:132;5117:46:129;;-1:-1:-1;;;;;398:1418:132;;;5117:46:129;:32;;5195:36;;;398:1418:132;5195:50:129;;-1:-1:-1;;;;;398:1418:132;;;5195:50:129;;;:78;;;5113:420;5191:175;;5113:420;4938:1254;;5191:175;398:1418:132;-1:-1:-1;;;5312:27:129;;;;;5195:78;5249:19;;;;398:1418:132;5249:24:129;5195:78;;5113:420;5398:36;;;398:1418:132;5398:50:129;;-1:-1:-1;;;;;398:1418:132;;;5398:50:129;5113:420;5394:139;398:1418:132;-1:-1:-1;;;5483:27:129;;;;;5048:664;5561:32;;;398:1418:132;5561:46:129;;-1:-1:-1;;;;;398:1418:132;;;5561:46:129;;:74;;;5048:664;5557:155;5048:664;5557:155;398:1418:132;-1:-1:-1;;;5666:27:129;;;;;5561:74;5611:19;;;;398:1418:132;5611:24:129;5561:74;;5001:1181;5753:36;;;398:1418:132;5753:50:129;;-1:-1:-1;;;;;398:1418:132;;;5753:50:129;;:347;;;5001:1181;5732:450;4938:1254;5732:450;398:1418:132;-1:-1:-1;;;6140:27:129;;;;;5753:347;-1:-1:-1;5853:23:129;;;398:1418:132;5853:37:129;;-1:-1:-1;;;;;398:1418:132;;;5853:37:129;;;;:65;;;5753:347;5853:147;;;;5753:347;5853:225;5753:347;5853:225;-1:-1:-1;6032:32:129;;;398:1418:132;6032:46:129;;-1:-1:-1;;;;;398:1418:132;;;6032:46:129;;;5753:347;;5853:147;-1:-1:-1;5950:36:129;;;398:1418:132;5950:50:129;;-1:-1:-1;;;;;398:1418:132;;;5950:50:129;;;5853:147;;:65;5894:19;;;;398:1418:132;5894:24:129;;5853:65;;4375:132;398:1418:132;;-1:-1:-1;;;4469:27:129;;;;;4379:67;4407:28;;;;;398:1418:132;4407:39:129;;4379:67;;3394:971;3461:36;;;398:1418:132;3461:50:129;;-1:-1:-1;;;;;398:1418:132;;;3461:50:129;;3457:419;;3394:971;3894:34;;;398:1418:132;3894:48:129;;-1:-1:-1;;;;;398:1418:132;;;3894:48:129;;3890:465;;3394:971;;;3890:465;3966:21;;;398:1418:132;;3966:21:129;;4015:19;;;398:1418:132;4015:24:129;:74;;;3962:379;4011:157;3394:971;4011:157;398:1418:132;;-1:-1:-1;;;4124:21:129;;;;;4015:74;-1:-1:-1;4043:32:129;;;398:1418:132;4043:46:129;;-1:-1:-1;;;;;398:1418:132;;;4043:46:129;;4015:74;;3962:379;4196:19;;;398:1418:132;4196:24:129;;;:74;;;3962:379;4192:149;3890:465;4192:149;398:1418:132;;-1:-1:-1;;;4301:21:129;;;;;4196:74;-1:-1:-1;4224:32:129;;;398:1418:132;4224:46:129;;-1:-1:-1;;;;;398:1418:132;;;4224:46:129;;;4196:74;;3457:419;3535:23;;;398:1418:132;;3535:23:129;;3586:35;;;398:1418:132;3586:49:129;;-1:-1:-1;;;;;398:1418:132;;;3586:49:129;3457:419;3582:132;398:1418:132;;-1:-1:-1;;;3670:21:129;;;;;3531:331;3742:35;;;398:1418:132;3742:49:129;;-1:-1:-1;;;;;398:1418:132;;;3742:49:129;3738:124;3457:419;3738:124;398:1418:132;;-1:-1:-1;;;3822:21:129;;;;;3292:92;398:1418:132;;-1:-1:-1;;;3344:29:129;;;;;3187:95;398:1418:132;;-1:-1:-1;;;3245:26:129;;;;;3900:253:60;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;398:1418:132:-;;;;;;;;;;;;2718:286:129;2836:6;;;:::i;:::-;398:1418:132;-1:-1:-1;;398:1418:132;;;;;;;2901:14:129;398:1418:132;;;;;;;;;;;;;;;;;;1286:6:129;-1:-1:-1;2854:144:129;;2718:286::o;2854:144::-;398:1418:132;;-1:-1:-1;;;2956:31:129;;;;;398:1418:132;;:::i;1642:1070:129:-;1783:1;398:1418:132;;1746:38:129;1742:119;;1875:23;;;398:1418:132;;-1:-1:-1;;;;;398:1418:132;1875:23:129;;398:1418:132;;1875:37:129;;:65;;1642:1070;1871:130;;398:1418:132;2183:42:129;398:1418:132;2552:36:129;398:1418:132;2011:65:129;398:1418:132;;;2011:65:129;1991:1:31;;2011:65:129;2087:42;398:1418:132;2106:23:129;;;398:1418:132;;;;;;2087:42:129;398:1418:132;;-1:-1:-1;;;;398:1418:132;;;;;;-1:-1:-1;;;398:1418:132;;;;;;;;2087:42:129;2139:34;2154:19;;;398:1418:132;2139:34:129;1991:1:31;;398:1418:132;;;;;;;;;;2087:42:129;398:1418:132;;;2087:42:129;398:1418:132;;2183:42:129;2240:33;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;2236:148:129;;1642:1070;-1:-1:-1;2397:32:129;;;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;2393:146:129;;-1:-1:-1;2552:36:129;398:1418:132;-1:-1:-1;;;;;398:1418:132;;;;;;;2548:158:129;;1642:1070;:::o;2548:158::-;2618:77;;;:::i;2393:146::-;2459:69;;;:::i;2236:148::-;2303:70;;;:::i;:::-;;2236:148;;;1871:130;398:1418:132;;-1:-1:-1;;;1963:27:129;;;;;1875:65;1916:19;;;;398:1418:132;1916:24:129;;1875:65;;1742:119;398:1418:132;;-1:-1:-1;;;1807:43:129;;;;;4421:582:60;;4593:8;;-1:-1:-1;398:1418:132;;5674:21:60;:17;;5799:158;;;;;;5670:354;398:1418:132;;-1:-1:-1;;;5994:19:60;;;;;4589:408;398:1418:132;;4841:22:60;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;398:1418:132;;-1:-1:-1;;;4917:24:60;;-1:-1:-1;;;;;398:1418:132;;;4917:24:60;;;398:1418:132;;;4917:24:60;4841:49;4867:18;;;:23;4841:49;;14296:213:75;398:1418:132;14374:24:75;;;;14370:103;;398:1418:132;14296:213:75;:::o;14370:103::-;398:1418:132;;;;14421:41:75;;;;;;14452:2;14421:41;;;398:1418:132;;;;;14421:41:75","linkReferences":{},"immutableReferences":{"69284":[{"start":1382,"length":32},{"start":1745,"length":32}],"80579":[{"start":4968,"length":32},{"start":6955,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"_epochDuration()\":{\"notice\":\"Get a duration of the epoch (internal).\"},\"_epochDurationInit()\":{\"notice\":\"Get a time point of the epoch duration set (internal).\"},\"_epochDurationInitIndex()\":{\"notice\":\"Get the current epoch duration's first epoch (internal).\"},\"_epochDurationSetEpochsDelay()\":{\"notice\":\"Get a delay for the epoch duration set in epochs (internal).\"},\"_nextEpochDuration()\":{\"notice\":\"Get a duration of the next epoch (internal).\"},\"_nextEpochDurationInit()\":{\"notice\":\"Get a time point of the next epoch duration set (internal).\"},\"_nextEpochDurationSetEpochsDelay()\":{\"notice\":\"Get the next delay for the epoch duration set in epochs (internal).\"},\"_nextEpochInitIndex()\":{\"notice\":\"Get a the next epoch duration's first epoch (internal).\"},\"_prevEpochDuration()\":{\"notice\":\"Get a duration of the previous epoch (internal).\"},\"_prevEpochDurationInit()\":{\"notice\":\"Get a time point of the previous epoch duration set (internal).\"},\"_prevEpochDurationInitIndex()\":{\"notice\":\"Get a the previous epoch duration's first epoch (internal).\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenized.sol\":\"VaultTokenized\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7\",\"dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70\",\"dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882\",\"dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"_epochDuration()":{"notice":"Get a duration of the epoch (internal)."},"_epochDurationInit()":{"notice":"Get a time point of the epoch duration set (internal)."},"_epochDurationInitIndex()":{"notice":"Get the current epoch duration's first epoch (internal)."},"_epochDurationSetEpochsDelay()":{"notice":"Get a delay for the epoch duration set in epochs (internal)."},"_nextEpochDuration()":{"notice":"Get a duration of the next epoch (internal)."},"_nextEpochDurationInit()":{"notice":"Get a time point of the next epoch duration set (internal)."},"_nextEpochDurationSetEpochsDelay()":{"notice":"Get the next delay for the epoch duration set in epochs (internal)."},"_nextEpochInitIndex()":{"notice":"Get a the next epoch duration's first epoch (internal)."},"_prevEpochDuration()":{"notice":"Get a duration of the previous epoch (internal)."},"_prevEpochDurationInit()":{"notice":"Get a time point of the previous epoch duration set (internal)."},"_prevEpochDurationInitIndex()":{"notice":"Get a the previous epoch duration's first epoch (internal)."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultTokenized.sol":"VaultTokenized"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x9574c9152dc55f9a88d77ff970a78cfaed2ae80bc9927b2f5e0f41c9d409111f","urls":["bzz-raw://9ccbe2b85eb80e6c4c31abbd98fb7cd6028a5e371341ee64fc188179717bc8a7","dweb:/ipfs/QmVhyTLvbyPfhf4fztVQdfvYvwdqkPkhN2HofwCro4rvdX"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0xf80e2e4569bae7ce44de34356886c19714c13c7787764846a31dcc7f445a1fe7","urls":["bzz-raw://6b1cba00e251684eeac1a99b50a679fa2bf1d5c58375c471e3e12363ce809e70","dweb:/ipfs/QmX61YqMAzb6sXMBERVk9j2kNCctFfaBcgNdVe1edbgswu"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e","urls":["bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1","dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x41831193504801def1cff82b76d4e65b2061ad5fac1ad113fa7cde222deca022","urls":["bzz-raw://efa350068316fece2c071a53f278014f9f476f839fa451611819d44393276882","dweb:/ipfs/QmcWGSnq9gFjPWVUcosHBnu2DsejH6rJugLSz4JBrz5Gb6"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"}},"version":1},"id":132} +{"abi":[{"type":"constructor","inputs":[{"name":"vaultFactory","type":"address","internalType":"address"},{"name":"implementation","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"fallback","stateMutability":"payable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSITOR_WHITELIST_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"EPOCH_DURATION_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FACTORY","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_BASE","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RATE_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MIN_EXIT_WINDOW","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"RETURN_VALUE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"_epochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_epochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochDurationSetEpochsDelay","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_nextEpochInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDuration","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInit","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"_prevEpochDurationInitIndex","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"collateral","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"delegator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"depositLimit","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"depositWhitelist","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"flashFeeRate","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"flashFeeReceiver","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"flashLoanEnabled","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"initialVersion","type":"uint64","internalType":"uint64"},{"name":"owner_","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isDelegatorInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositLimit","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDepositorWhitelisted","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isSlasherInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isWithdrawalsClaimed","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"migrate","inputs":[{"name":"newVersion","type":"uint64","internalType":"uint64"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"slasher","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"staticDelegateCall","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"withdrawalShares","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawalSharesOf","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"withdrawals","inputs":[{"name":"epoch","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"AlreadySet","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientExitWindow","inputs":[]},{"type":"error","name":"InvalidAccount","inputs":[]},{"type":"error","name":"InvalidCollateral","inputs":[]},{"type":"error","name":"InvalidEpochDuration","inputs":[]},{"type":"error","name":"InvalidEpochDurationSetEpochsDelay","inputs":[]},{"type":"error","name":"InvalidFlashParams","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidOrigin","inputs":[]},{"type":"error","name":"MissingRoles","inputs":[]},{"type":"error","name":"NoDepositWhitelist","inputs":[]},{"type":"error","name":"NotFactory","inputs":[]},{"type":"error","name":"NotInitialized","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x60c03461011c57612a12906001600160401b0390601f38849003908101601f191682019083821183831017610120578083916040968794855283398101031261011c57610057602061005083610134565b9201610134565b917ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff82871c1661010b5780808316036100c7575b50505060805260a052516128c99081610149823960805181818161056601526106d1015260a0518181816113680152611b2b0152f35b6001600160401b0319909116811790915583519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f8080610091565b855163f92ee8a960e01b8152600490fd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361011c5756fe608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b1954f63b966b2e7db40e76cb09a59e86ffdb3cb72ef9f70684b6c9fda999bb964736f6c63430008190033","sourceMap":"398:1418:109:-:0;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;8837:64:26;;398:1418:109;;;;;;;;;7896:76:26;;398:1418:109;;;;7985:34:26;7981:146;;-1:-1:-1;927:17:82;;;;;1444:31:106;;398:1418:109;;;;;;;927:17:82;398:1418:109;;;;;;;;;;1444:31:106;398:1418:109;;;;;;;;;;;7981:146:26;-1:-1:-1;;;;;;398:1418:109;;;;;;;;;;;;;8087:29:26;;398:1418:109;;8087:29:26;7981:146;;;;;7896:76;398:1418:109;;-1:-1:-1;;;7938:23:26;;;;;398:1418:109;-1:-1:-1;398:1418:109;;;;;;-1:-1:-1;398:1418:109;;;;;-1:-1:-1;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x608060405260043610611b21575f3560e01c806301ffc9a71461036b5780631415519b146103665780631b66c9e114610361578063248a9ca31461035c5780632749f9c41461035757806327810b6e146103525780632abe30481461034d5780632dd31000146103485780632f2ff15d146103435780632fa27fae1461033e57806331d9736c1461033957806336568abe1461033457806348d3b7751461032f57806350861adc1461032a57806354fd4d501461032557806357ec83cc146103205780635a36aa741461031b5780635cc070761461031657806361819dd814610311578063653b04cd1461030c57806365d61c6c146103075780636e0f2455146103025780636ec1e3f8146102fd578063715018a6146102f8578063794b15b7146102f35780638da5cb5b146102ee57806391d14854146102e957806398ccba4a146102e45780639b4bae3e146102df5780639f86fd85146102da5780639f9962dd146102d5578063a1b12202146102d0578063a217fddf146102cb578063a21a1df9146102c6578063a3b54172146102c1578063a5d03223146102bc578063a66b3a73146102b7578063a8b24f9a146102b2578063afba70ad146102ad578063b1344271146102a8578063bba6ff4a146102a3578063bc46f7221461029e578063c1bc6f5114610299578063c4db46fc14610294578063cc52aee71461028f578063ce9b79301461028a578063d547741f14610285578063d8dfeb4514610280578063db3887151461027b578063e945da7f14610276578063ecc98f0514610271578063ecf708581461026c578063f151f6b5146102675763f2fde38b03611b21576110f4565b6110d7565b6110ba565b61109c565b61107f565b611045565b61101a565b610fce565b610fa6565b610f7e565b610f61565b610f39565b610eff565b610ee2565b610eba565b610e90565b610e68565b610e2e565b610de8565b610d9b565b610d61565b610d47565b610d23565b610cfb565b610c67565b610c4a565b610c2d565b610bcf565b610b9b565b610b5b565b610af4565b610acf565b610aaa565b610a85565b610a4b565b610a11565b6109e7565b6109bf565b61087a565b610848565b610823565b610802565b6107b7565b61077d565b61075d565b610711565b6106bc565b6104fa565b61048f565b610472565b610439565b6103ff565b6103c5565b346103c15760203660031901126103c15760043563ffffffff60e01b81168091036103c157602090637965db0b60e01b81149081156103b0575b506040519015158152f35b6301ffc9a760e01b1490505f6103a5565b5f80fd5b346103c1575f3660031901126103c15760206040517fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac8152f35b346103c1575f3660031901126103c15760206040517f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e068152f35b346103c15760203660031901126103c1576004355f525f805160206128548339815191526020526020600160405f200154604051908152f35b346103c1575f3660031901126103c1576020601454604051908152f35b346103c1575f3660031901126103c1576001546040516001600160a01b039091168152602090f35b600435906001600160401b03821682036103c157565b9181601f840112156103c1578235916001600160401b0383116103c157602083818601950101116103c157565b346103c1576040806003193601126103c1576105146104b7565b906001600160401b036024358181116103c1576105359036906004016104cd565b917f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0060028154146106ab57600290557f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361069a575f8051602061287483398151915280548281169260ff82881c16801561068e575b61067d5767ffffffffffffffff199091169087161790555f80516020612874833981519152805460ff60401b1916600160401b1790557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29461064f949093909261061e9261146d565b5f80516020612874833981519152805460ff60401b19169055516001600160401b0390911681529081906020820190565b0390a161067b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f0055565b005b865163f92ee8a960e01b8152600490fd5b508088168410156105b5565b8351631966391b60e11b8152600490fd5b8451633ee5aeb560e01b8152600490fd5b346103c1575f3660031901126103c1576040517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b6001600160a01b038116036103c157565b346103c15760403660031901126103c15761067b60243560043561073482610700565b805f525f80516020612854833981519152602052610758600160405f200154611529565b611998565b346103c1575f3660031901126103c157602060015460d01c604051908152f35b346103c1575f3660031901126103c15760206040517f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad18152f35b346103c15760403660031901126103c1576024356107d481610700565b336001600160a01b038216036107f05761067b906004356119ce565b60405163334bd91960e11b8152600490fd5b346103c1575f3660031901126103c157602060ff5f54166040519015158152f35b346103c1575f3660031901126103c157602060ff60025460a01c166040519015158152f35b346103c1575f3660031901126103c15760206001600160401b035f805160206128748339815191525416604051908152f35b346103c15760603660031901126103c1576108936104b7565b60243561089f81610700565b6001600160401b03916044358381116103c1576108c09036906004016104cd565b5f805160206128748339815191529491855494838616806109ae5760ff8760401c169081156109a1575b5061098f577fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29661098a96610957958716906001600160401b0319161790556109525f80516020612874833981519152600160401b68ff000000000000000019825416179055565b611207565b5f80516020612874833981519152805460ff60401b191690556040516001600160401b0390911681529081906020820190565b0390a1005b60405163f92ee8a960e01b8152600490fd5b905084861611155f6108ea565b60405162dc149f60e41b8152600490fd5b346103c1575f3660031901126103c157602065ffffffffffff60135460301c16604051908152f35b346103c15760203660031901126103c1576004355f526006602052602060405f2054604051908152f35b346103c1575f3660031901126103c15760206040517f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec8152f35b346103c1575f3660031901126103c15760206040517f439148f0bbc682ca079e46d6e2c2f0c1e3b820f1a291b069d8882abf8cf18dd98152f35b346103c1575f3660031901126103c157602060ff60165460a01c166040519015158152f35b346103c1575f3660031901126103c157602065ffffffffffff60135416604051908152f35b346103c1575f3660031901126103c157602060ff60035460a01c166040519015158152f35b346103c1575f3660031901126103c157610b0c611ae9565b5f8051602061283483398151915280546001600160a01b031981169091555f906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346103c15760203660031901126103c157600435610b7881610700565b60018060a01b03165f526005602052602060ff60405f2054166040519015158152f35b346103c1575f3660031901126103c1575f80516020612834833981519152546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c157602060ff610c21602435610bf381610700565b6004355f525f80516020612854833981519152845260405f209060018060a01b03165f5260205260405f2090565b54166040519015158152f35b346103c1575f3660031901126103c1576020601254604051908152f35b346103c1575f3660031901126103c1576020601154604051908152f35b346103c15760403660031901126103c157600435610c8481610700565b6024356001600160401b0381116103c1575f91610ca6839236906004016104cd565b90816040519283928337810184815203915af4610cf3610cc46113a9565b91610ce56040519384921515602084015260408084015260608301906113d8565b03601f198101835282611155565b805190602001fd5b346103c1575f3660031901126103c157602065ffffffffffff60015460a01c16604051908152f35b346103c1575f3660031901126103c157602060ff5f5460081c166040519015158152f35b346103c1575f3660031901126103c15760206040515f8152f35b346103c1575f3660031901126103c15760206040517f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb792338152f35b346103c15760403660031901126103c1576020610ddf602435610dbd81610700565b6004355f526008835260405f209060018060a01b03165f5260205260405f2090565b54604051908152f35b346103c15760403660031901126103c157602060ff610c21602435610e0c81610700565b6004355f526009845260405f209060018060a01b03165f5260205260405f2090565b346103c1575f3660031901126103c15760206040517fc9feed28b4b1a1d11c6791da7bb7f6b8d33e831a4992a9383dead1ec2c82c35a8152f35b346103c1575f3660031901126103c1576016546040516001600160a01b039091168152602090f35b346103c15760203660031901126103c1576004355f526007602052602060405f2054604051908152f35b346103c1575f3660031901126103c1576003546040516001600160a01b039091168152602090f35b346103c1575f3660031901126103c1576020600f54604051908152f35b346103c1575f3660031901126103c15760206040517fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c7458152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460901c16604051908152f35b346103c1575f3660031901126103c1576020601054604051908152f35b346103c1575f3660031901126103c157602065ffffffffffff60135460601c16604051908152f35b346103c1575f3660031901126103c1576002546040516001600160a01b039091168152602090f35b346103c15760403660031901126103c15761067b602435600435610ff182610700565b805f525f80516020612854833981519152602052611015600160405f200154611529565b6119ce565b346103c1575f3660031901126103c1575f5460405160109190911c6001600160a01b03168152602090f35b346103c1575f3660031901126103c15760206040517fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c0238152f35b346103c1575f3660031901126103c1576020601554604051908152f35b346103c1575f3660031901126103c1576020604051633b9aca008152f35b346103c1575f3660031901126103c1576020600454604051908152f35b346103c1575f3660031901126103c157602060405162093a808152f35b346103c15760203660031901126103c15761067b60043561111481610700565b61111c611ae9565b6113fc565b634e487b7160e01b5f52604160045260245ffd5b606081019081106001600160401b0382111761115057604052565b611121565b90601f801991011681019081106001600160401b0382111761115057604052565b6040519061028082018281106001600160401b0382111761115057604052565b6040519061010082018281106001600160401b0382111761115057604052565b6001600160401b03811161115057601f01601f191660200190565b9291926111dd826111b6565b916111eb6040519384611155565b8294818452818301116103c1578281602093845f960137010152565b9161125792611214611c8a565b61121c611c8a565b60017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00556001600160a01b03811661138f575b5036916111d1565b80516020908201918183019180828503126103c15780820151916001600160401b03928381116103c15760609101809503126103c15760409081519361129c85611135565b818601518481116103c157860181603f820112156103c157818185856112c59401519101611a60565b8552828601518481116103c15781836112e092890101611a96565b82860190815260608701519485116103c15761131961130c61135a93856113669861138c9b0101611a96565b9685810197885251611eea565b5194519461132d8451968792858401611ab3565b0392611341601f1994858101885287611155565b51948592630f7a015d60e31b9084015260248301611ad8565b03908101835282611155565b7f00000000000000000000000000000000000000000000000000000000000000006125ea565b50565b6113a39061139b611c8a565b61111c611c8a565b5f61124f565b3d156113d3573d906113ba826111b6565b916113c86040519384611155565b82523d5f602084013e565b606090565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b6001600160a01b03908116908115611455575f8051602061283483398151915280546001600160a01b031981168417909155167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3565b604051631e4fbdf760e01b81525f6004820152602490fd5b916001600160401b03916114829136916111d1565b9116600281036114aa57506114a3816020806114a894518301019101611be9565b61261b565b565b6003036115175761135a6113666114cd8360208061138c96518301019101611b5d565b60208151910151906114e760405192839260208401611ab3565b03906114fb601f1992838101835282611155565b604051630f7a015d60e31b602082015293849160248301611ad8565b604051630a1824e360e01b8152600490fd5b5f8181525f805160206128548339815191526020908152604080832033845290915290205460ff16156115595750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260409020545f805160206128548339815191529060ff16611622575f808052602091825260408082206001600160a01b038516835290925220805460ff1916600117905533906001600160a01b03165f7f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b50505f90565b6001600160a01b0381165f9081527f03b26b53c87faa1058f30bb5d2fee64f717719a0d9b7e4f4df027aa5e9b6ed69602052604090207fbae4ee3de6c709ff9a002e774c5b78cb381560b219213c88ae0f1e207c03c023905f805160206128548339815191529060ff905b54166116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916600117905533916001600160a01b0316907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b5050505f90565b6001600160a01b0381165f9081527f0287ab4cb376ea253d7b2ce0c2cbf458f7deae9458470d74afdfbbee484e9540602052604090207f9c56d972d63cbb4195b3c1484691dfc220fa96a4c47e7b6613bd82a022029e06905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527fe41986b390c4ce6791b87f7423b5fab7a81a0e6d89660b6264f697d008b2243a602052604090207fc6aaadd7371d5e8f9ed6849dd66a66573a3ba37167d03f4352c9ba5693678fac905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f2d4ccbfe9f7672a6f2537c1e5bce6adacb73706879154bbab6ce096012d67216602052604090207f4a634bc14d77baf979756509ef4298c6f6318af357828612545267ee2eb79233905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f99e47f2907af87dbb5c62e22bd8ea822f5011dfd1e243469ce26ebebf3ab93e3602052604090207f591f6a0113ada8aff67efadec8ae2fa585cb4ebf4e1f8fc1205ffbeff98d00ec905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f82a1dc868a49801aa31c5dd393dc0b9005735300cdcd4bbc1af68215effcd6f8602052604090207fc9078c78bcaac2be1c77c160c539a489be2b72939771b1a6302fed3e2150c745905f805160206128548339815191529060ff90611693565b6001600160a01b0381165f9081527f9aeaa4f1a9be826e331dea6728ca206744e0a34dccbc1d3da4a68acb8abf0363602052604090207f5295aaaa27fdd659293eafacbfafbc634c1b96298957e87de5f59308cdbfdad1905f805160206128548339815191529060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b038716855290915290912060ff90611693565b5f8181525f80516020612854833981519152602081815260408084206001600160a01b03871685529091529091205460ff16156116f7575f828152602091825260408082206001600160a01b038616835290925220805460ff1916905533916001600160a01b0316907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a4600190565b929192611a6c826111b6565b91611a7a6040519384611155565b8294818452818301116103c1578281602093845f96015e010152565b9080601f830112156103c1578151611ab092602001611a60565b90565b9091611aca611ab0936040845260408401906113d8565b9160208184039101526113d8565b906020611ab09281815201906113d8565b5f80516020612834833981519152546001600160a01b03163303611b0957565b60405163118cdaa760e01b8152336004820152602490fd5b365f80375f8036817f00000000000000000000000000000000000000000000000000000000000000005af43d5f803e15611b59573d5ff35b3d5ffd5b906020828203126103c15781516001600160401b03928382116103c15701906040828203126103c1576040519260408401848110828211176111505760405282518181116103c15782611bb1918501611a96565b845260208301519081116103c157611bc99201611a96565b602082015290565b519081151582036103c157565b51906114a882610700565b809161010092839103126103c1576040519182018281106001600160401b0382111761115057611c829160e09160405280518452611c2960208201611bd1565b602085015260408101516040850152611c4460608201611bde565b6060850152611c5560808201611bde565b6080850152611c6660a08201611bde565b60a0850152611c7760c08201611bde565b60c085015201611bde565b60e082015290565b60ff5f805160206128748339815191525460401c1615611ca657565b604051631afcd79f60e31b8152600490fd5b519065ffffffffffff821682036103c157565b81601f820112156103c1578051916020916001600160401b038411611150578360051b9060405194611cff85840187611155565b855283808601928201019283116103c1578301905b828210611d22575050505090565b8380918351611d3081610700565b815201910190611d14565b906020828203126103c15781516001600160401b03928382116103c1570190610280828203126103c157611d6d611176565b92611d7783611bde565b8452611d8560208401611bde565b6020850152611d9660408401611cb8565b6040850152611da760608401611bd1565b6060850152611db860808401611bd1565b608085015260a083015160a085015260c083015160c0850152611ddd60e08401611bd1565b60e08501526101008084015190850152610120611dfb818501611bde565b90850152610140611e0d818501611bde565b90850152610160611e1f818501611bde565b90850152610180611e31818501611bde565b908501526101a091828401519182116103c157611e4f918401611ccb565b908301526101c0611e61818301611bde565b908301526101e0611e73818301611bde565b90830152610200611e85818301611bde565b90830152610220611e97818301611bde565b90830152610240611ea9818301611bde565b90830152611ebb610260809201611bde565b9082015290565b8051821015611ed65760209160051b010190565b634e487b7160e01b5f52603260045260245ffd5b611efd9060208082518301019101611d3b565b805190916001600160a01b03918216156125d8576040908184019065ffffffffffff611f2f835165ffffffffffff1690565b16156125c75761014085018051909490611f59906001600160a01b03165b6001600160a01b031690565b15612492575b6060860195611f75611f718851151590565b1590565b80612483575b612472576101a0810196955f5b8851805182101561203957611f4d611fa383611fb093611ec2565b516001600160a01b031690565b1561202857611fe9611fe2611fc9611fa3848d51611ec2565b6001600160a01b03165f90815260056020526040902090565b5460ff1690565b6120175780612011612004611fc9611fa36001958e51611ec2565b805460ff19166001179055565b01611f88565b865163a741a04560e01b8152600490fd5b8651630da30f6560e31b8152600490fd5b505093919592965093612055611f4d855160018060a01b031690565b156122cc575b60c08501519060e086015161206f90151590565b6101008701516101208801516102008901516102208a01516102408b01516102608c01516001600160a01b03908116979181169692811695938116941692916120b6611196565b988952151560208901528701526001600160a01b031660608601526001600160a01b031660808501526001600160a01b031660a08401526001600160a01b031660c08301526001600160a01b031660e08201526121129061266a565b83516001600160a01b03165f805462010000600160b01b03191660109290921b62010000600160b01b031691909117905560208401516001600160a01b0316600180546001600160a01b0319166001600160a01b0390921691909117905561217942612801565b6001805465ffffffffffff60a01b191660a09290921b65ffffffffffff60a01b169190911790555165ffffffffffff16600180546001600160d01b031660d09290921b6001600160d01b0319169190911790555115156121e39060ff80195f541691151516175f55565b60808201515f805461ff00191691151560081b61ff001691909117905560a0820151600455516001600160a01b0316612279916101e0918085166122bc575b506101608101516001600160a01b03168481166122ac575b506101808101516001600160a01b031684811661229c575b506101c08101516001600160a01b031684811661228c575b5001516001600160a01b031690565b9081166122835750565b61138c906117dc565b6122959061176d565b505f61226a565b6122a5906116fe565b505f612252565b6122b590611628565b505f61223a565b6122c590611577565b505f612222565b60e0850151156123c2576101208501516122ee906001600160a01b0316611f4d565b6123815761024085015161230a906001600160a01b0316611f4d565b61235557610260850151612326906001600160a01b0316611f4d565b151580612348575b612338575b61205b565b51630331eb0f60e41b8152600490fd5b506101008501511561232e565b61026085015161236d906001600160a01b0316611f4d565b6123335751630331eb0f60e41b8152600490fd5b610240850151612399906001600160a01b0316611f4d565b15806123b5575b156123335751630331eb0f60e41b8152600490fd5b50610100850151156123a0565b6102208501516123da906001600160a01b0316611f4d565b15806123f6575b1561205b5751630331eb0f60e41b8152600490fd5b5061012085015161240f906001600160a01b0316611f4d565b15801590612464575b8015612444575b806123e1575061024085015161243d906001600160a01b0316611f4d565b15156123e1565b5061026085015161245d906001600160a01b0316611f4d565b151561241f565b506101008501511515612418565b845163ebf503c560e01b8152600490fd5b506101a0810151511515611f7b565b6101608601516124aa906001600160a01b0316611f4d565b15612562575b6101c08601516124c8906001600160a01b0316611f4d565b156124d3575b611f5f565b60808601511561251e5760a086015115806124ff575b15611f5f57835163183c854560e21b8152600490fd5b506101e0860151612518906001600160a01b0316611f4d565b156124e9565b60a086015115801590612542575b156124ce57835163183c854560e21b8152600490fd5b506101e086015161255b906001600160a01b0316611f4d565b151561252c565b60608601511561259957610180860151612584906001600160a01b0316611f4d565b6124b057835163183c854560e21b8152600490fd5b6101808601516125b1906001600160a01b0316611f4d565b156124b057835163183c854560e21b8152600490fd5b82516368f5f8f160e11b8152600490fd5b6040516368f7a67560e11b8152600490fd5b5f80611ab093602081519101845af46126016113a9565b9161279e565b634e487b7160e01b5f52601160045260245ffd5b6126248161266a565b5160011981019081116126655760015460d01c908181029181830414901517156126655762093a801161265357565b60405163119796df60e01b8152600490fd5b612607565b600381511061278c576060810180516001600160a01b039291908316158061277f575b61276d57816127066126e460e0936126a86127419651600f55565b6126d76126b86020860151151590565b6016805460ff60a01b191691151560a01b60ff60a01b16919091179055565b611fa36040850151601555565b60018060a01b03166bffffffffffffffffffffffff60a01b6016541617601655565b60808101516001600160a01b031684811661275d575b5060c08101516001600160a01b0316848116612754575001516001600160a01b031690565b90811661274b5750565b61138c90611929565b612295906118ba565b6127669061184b565b505f61271c565b604051630331eb0f60e41b8152600490fd5b506040820151151561268d565b6040516317a509b960e31b8152600490fd5b906127c557508051156127b357805190602001fd5b60405163d6bda27560e01b8152600490fd5b815115806127f8575b6127d6575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156127ce565b65ffffffffffff90818111612814571690565b604490604051906306dfcc6560e41b8252603060048301526024820152fdfe9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930002dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220b1954f63b966b2e7db40e76cb09a59e86ffdb3cb72ef9f70684b6c9fda999bb964736f6c63430008190033","sourceMap":"398:1418:109:-:0;;;;;;2603:64:50;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2603:64:50;398:1418:109;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3551:47:23;;;:87;;;;398:1418:109;;;;;;;;;;3551:87:23;-1:-1:-1;;;1134:40:32;;-1:-1:-1;3551:87:23;;;398:1418:109;-1:-1:-1;398:1418:109;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;757:38:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;612:37:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;;4919:24:23;398:1418:109;-1:-1:-1;398:1418:109;4919:24:23;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3788:34:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;:::i;:::-;2499:73:30;;1991:1;398:1418:109;;3670:20:30;3666:88;;1991:1;;;1673:7:82;-1:-1:-1;;;;;398:1418:109;1659:10:82;:21;1655:71;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;;;;6431:44:26;;;;398:1418:109;6427:105:26;;-1:-1:-1;;398:1418:109;;;;;;;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;398:1418:109;-1:-1:-1;;;398:1418:109;;;6656:20:26;;;;398:1418:109;;;;1809:204:82;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;6656:20:26;;;;3426:1:30;1949;2499:73;1991:1;3860:283;3426:1;398:1418:109;6427:105:26;398:1418:109;;-1:-1:-1;;;6498:23:26;;398:1418:109;;6498:23:26;6431:44;398:1418:109;;;;6450:25:26;;;6431:44;;1655:71:82;398:1418:109;;-1:-1:-1;;;1703:12:82;;398:1418:109;;1703:12:82;3666:88:30;398:1418:109;;-1:-1:-1;;;3713:30:30;;398:1418:109;;3713:30:30;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;655:32:82;-1:-1:-1;;;;;398:1418:109;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;:::o;:::-;;;;;;-1:-1:-1;;398:1418:109;;;;5350:25:23;398:1418:109;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;3202:4:23;4919:24;398:1418:109;-1:-1:-1;398:1418:109;4919:24:23;398:1418:109;3202:4:23;:::i;:::-;5350:25;:::i;398:1418:109:-;;;;;;-1:-1:-1;;398:1418:109;;;;;2129:28:108;398:1418:109;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1479:40:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;:::i;:::-;966:10:28;-1:-1:-1;;;;;398:1418:109;;6441:34:23;6437:102;;6549:37;398:1418:109;;;6549:37:23;:::i;6437:102::-;398:1418:109;;-1:-1:-1;;;6498:30:23;;398:1418:109;;6498:30:23;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;2293:34:108;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;-1:-1:-1;;;;;;;;;;;;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;:::i;:::-;;;;;;:::i;:::-;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;;;;;;;8837:64:26;;398:1418:109;;;;;;734:29:82;730:87;;398:1418:109;;;;;6431:44:26;;;;;398:1418:109;6427:105:26;;;6656:20;398:1418:109;6656:20:26;398:1418:109;1167:340:82;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;;;6575:22:26;-1:-1:-1;;;;;;;;;;;;;;398:1418:109;;;;;;;;;6575:22:26;1167:340:82;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;6656:20:26;;;;398:1418:109;6427:105:26;398:1418:109;;-1:-1:-1;;;6498:23:26;;398:1418:109;;6498:23:26;6431:44;398:1418:109;;;;;-1:-1:-1;6450:25:26;6431:44;;;730:87:82;398:1418:109;;-1:-1:-1;;;786:20:82;;398:1418:109;;786:20:82;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;3667:32:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;-1:-1:-1;398:1418:109;2756:59:108;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1041:36:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1714:45:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;4048:28:108;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3624:36:108;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;2461:32:108;398:1418:109;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2303:62:24;;:::i;:::-;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;;;398:1418:109;;;;;;;-1:-1:-1;;;;;398:1418:109;3975:40:24;398:1418:109;;3975:40:24;398:1418:109;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;398:1418:109;2632:68:108;398:1418:109;;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3901:31:23;398:1418:109;;;;;:::i;:::-;;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;3901:31:23;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3575:42:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3530:38:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;416:25:86;;;;477:31;416:25;;:::i;:::-;398:1418:109;;;;;;;;;;477:31:86;;398:1418:109;;;;;;;;;;;:::i;:::-;477:31:86;;;;;;;;;:::i;:::-;518:79;;;398:1418:109;518:79:86;;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;;;2090:32:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;900:35:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;2991:94:108;398:1418:109;;;;;:::i;:::-;;;-1:-1:-1;398:1418:109;2991:94:108;398:1418:109;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;2991:94:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3141:92:108;398:1418:109;;;;;:::i;:::-;;;-1:-1:-1;398:1418:109;3141:92:108;398:1418:109;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1187:40:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;3961:31:108;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;-1:-1:-1;398:1418:109;2871:64:108;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2383:22:108;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3426:43:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1333:36:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3749:32:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3476:47:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;3706:36:108;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2213:24:108;398:1418:109;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;5767:26:23;398:1418:109;;;;;;;:::i;:::-;;-1:-1:-1;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;3202:4:23;4919:24;398:1418:109;-1:-1:-1;398:1418:109;4919:24:23;398:1418:109;3202:4:23;:::i;:::-;5767:26;:::i;398:1418:109:-;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;466:39:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;3878:27:108;398:1418:109;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1616:3:108;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;;;;;;-1:-1:-1;;398:1418:109;;;;;;;1285:6:106;398:1418:109;;;;;;;;;-1:-1:-1;;398:1418:109;;;;2357:1:24;398:1418:109;;;;;:::i;:::-;2303:62:24;;:::i;:::-;2357:1;:::i;398:1418:109:-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;;:::i;:::-;;;477:31:86;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;;;;6429:19:106;398:1418:109;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;:::o;:::-;-1:-1:-1;;;;;398:1418:109;;;;;;-1:-1:-1;;398:1418:109;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;:::o;1167:340:82:-;;398:1418:109;1167:340:82;6893:76:26;;:::i;:::-;;;:::i;:::-;1949:1:30;2499:73;1991:1;-1:-1:-1;;;;;398:1418:109;;1376:73:82;;1167:340;398:1418:109;;;;:::i;:::-;;;740:55;;;;;;;;398:1418;;;;;;;;740:55;;;398:1418;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;929:107;398:1418;;929:107;398:1418;877:169;398:1418;;;;:::i;:::-;;;;;;;;848:17;398:1418;:::i;:::-;1007:11;1020:13;;398:1418;996:38;398:1418;;996:38;;;;;;;:::i;:::-;;477:31:86;996:38:109;477:31:86;;996:38:109;;;;;;;;:::i;:::-;398:1418;929:107;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;1614:14:106;877:169:109;:::i;:::-;;1167:340:82:o;1376:73::-;6961:1:26;6893:76;;;:::i;:::-;;;:::i;6961:1::-;1376:73:82;;;398:1418:109;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;398:1418:109;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;;;-1:-1:-1;;398:1418:109;;;;:::o;3405:215:24:-;-1:-1:-1;;;;;398:1418:109;;;;3489:22:24;;3485:91;;-1:-1:-1;;;;;;;;;;;398:1418:109;;-1:-1:-1;;;;;;398:1418:109;;;;;;;;3975:40:24;-1:-1:-1;;3975:40:24;3405:215::o;3485:91::-;398:1418:109;;-1:-1:-1;;;3534:31:24;;3509:1;3534:31;;;398:1418:109;;;3534:31:24;1809:204:82;;-1:-1:-1;;;;;1809:204:82;398:1418:109;1809:204:82;398:1418:109;;;:::i;:::-;;;1188:1;1174:15;;1188:1;;398:1418;1244:40;398:1418;1244:40;398:1418;1317:6;398:1418;;1244:40;;;;;;:::i;:::-;1317:6;:::i;:::-;1809:204:82:o;1170:638:109:-;1359:1;1345:15;1359:1;;1578:145;;1449:58;398:1418;1449:58;398:1418;1522:215;398:1418;;1449:58;;;;;;:::i;:::-;;1677:11;;1690:13;;;398:1418;1666:38;398:1418;;1666:38;;;1449:58;1666:38;;;:::i;:::-;;477:31:86;1666:38:109;477:31:86;;1666:38:109;;;;;;;;:::i;:::-;398:1418;;-1:-1:-1;;;1449:58:109;1578:145;;;398:1418;;;1578:145;;;;:::i;1341:467::-;398:1418;;-1:-1:-1;;;1775:22:109;;;;;4148:103:23;-1:-1:-1;398:1418:109;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;966:10:28;398:1418:109;;;;;;;;;;4468:23:23;4464:108;;4148:103;:::o;4464:108::-;398:1418:109;;;;4514:47:23;;;;;;966:10:28;4514:47:23;;;398:1418:109;;;;;4514:47:23;7270:387;-1:-1:-1;;;;;398:1418:109;;3190:17:106;398:1418:109;;;;;;;;;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;;;3190:17:106;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;-1:-1:-1;;398:1418:109;7509:4:23;398:1418:109;;;966:10:28;;-1:-1:-1;;;;;398:1418:109;-1:-1:-1;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;3190:17:106;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;466:39:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;-1:-1:-1;;398:1418:109;7509:4:23;398:1418:109;;;966:10:28;;-1:-1:-1;;;;;398:1418:109;;7532:40:23;-1:-1:-1;;7532:40:23;7509:4;7586:11;:::o;7432:219::-;7628:12;;;-1:-1:-1;7628:12:23;:::o;7270:387::-;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;612:37:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;757:38:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;900:35:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;1041:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;1333:36:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;398:1418:109;;;;;;;;;1479:40:108;;-1:-1:-1;;;;;;;;;;;2887:71:23;398:1418:109;;3901:31:23;398:1418:109;7270:387:23;-1:-1:-1;398:1418:109;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;3901:31:23;398:1418:109;7892:388:23;-1:-1:-1;398:1418:109;;;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;-1:-1:-1;;398:1418:109;;;966:10:28;;-1:-1:-1;;;;;398:1418:109;;8155:40:23;-1:-1:-1;;8155:40:23;398:1418:109;8209:11:23;:::o;398:1418:109:-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;-1:-1:-1;398:1418:109;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;2658:162:24:-;-1:-1:-1;;;;;;;;;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;966:10:28;2717:23:24;2713:101;;2658:162::o;2713:101::-;398:1418:109;;-1:-1:-1;;;2763:40:24;;966:10:28;2763:40:24;;;398:1418:109;;;2763:40:24;2323:83:50;1019:819;;;;;;;1614:14:106;;1019:819:50;;;;;;;;;;;;;;;;398:1418:109;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;7084:141:26:-;398:1418:109;-1:-1:-1;;;;;;;;;;;398:1418:109;;;;7150:18:26;7146:73;;7084:141::o;7146:73::-;398:1418:109;;-1:-1:-1;;;7191:17:26;;;;;398:1418:109;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;3009:4959:106;3138:37;3009:4959;3138:37;398:1418:109;;;3138:37:106;;;;;;:::i;:::-;398:1418:109;;;;-1:-1:-1;;;;;398:1418:109;;;3190:31:106;3186:95;;3295:20;;;;;398:1418:109;;;;;;;;;;;3295:25:106;3291:92;;3397:29;;;398:1418:109;;3397:29:106;;398:1418:109;3397:43:106;;-1:-1:-1;;;;;398:1418:109;;-1:-1:-1;;;;;398:1418:109;;;3397:43:106;;3393:971;;3009:4959;4379:23;;;398:1418:109;4378:24:106;398:1418:109;;;;;;;;4378:24:106;;398:1418:109;4378:24:106;:67;;;3009:4959;4374:132;;4536:28;;;;4521:9;3190:17;4573:3;4536:28;;398:1418:109;;4532:39:106;;;;;4596:31;;;:45;:31;;:::i;:::-;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;4596:45:106;;4592:114;;4724:55;;4747:31;;:28;;;:31;:::i;:::-;-1:-1:-1;;;;;398:1418:109;;;;;4724:22:106;398:1418:109;;;;;;;4724:55:106;398:1418:109;;;;;4724:55:106;4720:120;;4877:28;4854:62;:55;4877:31;;398:1418:109;4877:28:106;;;:31;:::i;4854:55::-;398:1418:109;;-1:-1:-1;;398:1418:109;4912:4:106;398:1418:109;;;;4854:62:106;398:1418:109;4521:9:106;;4720:120;398:1418:109;;-1:-1:-1;;;4806:19:106;;;;;4592:114;398:1418:109;;-1:-1:-1;;;4668:23:106;;;;;4532:39;;;;;;;;;;4941:43;398:1418:109;;;;;;;;;;;4941:43:106;;4937:1254;;4516:411;6304:34;;;398:1418:109;6374:23:106;;;;398:1418:109;;;;;;;;6429:19:106;;;398:1418:109;6484:23:106;;;398:1418:109;6553:33:106;;;398:1418:109;6635:36:106;;;398:1418:109;6716:32:106;;;398:1418:109;6797:36:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;3138:37:106;6236:612;;398:1418:109;6236:612:106;;398:1418:109;-1:-1:-1;;;;;398:1418:109;4379:23:106;6236:612;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6236:612:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6236:612:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6304:34:106;6236:612;;398:1418:109;-1:-1:-1;;;;;398:1418:109;6374:23:106;6236:612;;398:1418:109;6236:612:106;;;:::i;:::-;398:1418:109;;-1:-1:-1;;;;;398:1418:109;3190:17:106;398:1418:109;;-1:-1:-1;;;;;;398:1418:109;;;;;;-1:-1:-1;;;;;398:1418:109;;;;;;;3138:37:106;6919:13;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;-1:-1:-1;;;;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;;;819:34:73;837:15;819:34;:::i;:::-;4912:4:106;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;;;-1:-1:-1;;;398:1418:109;;;;;;;;;;4912:4:106;398:1418:109;;-1:-1:-1;;;;;398:1418:109;;;;;;-1:-1:-1;;;;;;398:1418:109;;;;;;;;;;7038:42:106;;398:1418:109;;;3190:17:106;398:1418:109;;;;;;;3190:17:106;398:1418:109;;7038:42:106;6236:612;7108:21;;398:1418:109;3190:17:106;398:1418:109;;-1:-1:-1;;398:1418:109;;;;;;;;;;;;;;6236:612:106;7154:19;;398:1418:109;7139:34:106;1991:1:30;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;7821:32:106;;398:1418:109;;;7184:135:106;;4516:411;-1:-1:-1;7332:36:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;7328:157:106;;4516:411;-1:-1:-1;7498:35:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;7494:153:106;;4516:411;-1:-1:-1;7660:34:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;7656:152:106;;4516:411;-1:-1:-1;7821:32:106;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;7817:145:106;;3009:4959;:::o;7817:145::-;7883:68;;;:::i;7656:152::-;7724:73;;;:::i;:::-;;7656:152;;;7494:153;7563:73;;;:::i;:::-;;7494:153;;;7328:157;7398:76;;;:::i;:::-;;7328:157;;;7184:135;7247:61;;;:::i;:::-;;7184:135;;;4937:1254;5004:23;;;398:1418:109;;5004:23:106;;5051;;;398:1418:109;5051:37:106;;-1:-1:-1;;;;;398:1418:109;;;5051:37:106;:23;;5116:32;;;398:1418:109;5116:46:106;;-1:-1:-1;;;;;398:1418:109;;;5116:46:106;:32;;5194:36;;;398:1418:109;5194:50:106;;-1:-1:-1;;;;;398:1418:109;;;5194:50:106;;;:78;;;5112:420;5190:175;;5112:420;4937:1254;;5190:175;398:1418:109;-1:-1:-1;;;5311:27:106;;;;;5194:78;5248:19;;;;398:1418:109;5248:24:106;5194:78;;5112:420;5397:36;;;398:1418:109;5397:50:106;;-1:-1:-1;;;;;398:1418:109;;;5397:50:106;5112:420;5393:139;398:1418:109;-1:-1:-1;;;5482:27:106;;;;;5047:664;5560:32;;;398:1418:109;5560:46:106;;-1:-1:-1;;;;;398:1418:109;;;5560:46:106;;:74;;;5047:664;5556:155;5047:664;5556:155;398:1418:109;-1:-1:-1;;;5665:27:106;;;;;5560:74;5610:19;;;;398:1418:109;5610:24:106;5560:74;;5000:1181;5752:36;;;398:1418:109;5752:50:106;;-1:-1:-1;;;;;398:1418:109;;;5752:50:106;;:347;;;5000:1181;5731:450;4937:1254;5731:450;398:1418:109;-1:-1:-1;;;6139:27:106;;;;;5752:347;-1:-1:-1;5852:23:106;;;398:1418:109;5852:37:106;;-1:-1:-1;;;;;398:1418:109;;;5852:37:106;;;;:65;;;5752:347;5852:147;;;;5752:347;5852:225;5752:347;5852:225;-1:-1:-1;6031:32:106;;;398:1418:109;6031:46:106;;-1:-1:-1;;;;;398:1418:109;;;6031:46:106;;;5752:347;;5852:147;-1:-1:-1;5949:36:106;;;398:1418:109;5949:50:106;;-1:-1:-1;;;;;398:1418:109;;;5949:50:106;;;5852:147;;:65;5893:19;;;;398:1418:109;5893:24:106;;5852:65;;4374:132;398:1418:109;;-1:-1:-1;;;4468:27:106;;;;;4378:67;4406:28;;;;;398:1418:109;4406:39:106;;4378:67;;3393:971;3460:36;;;398:1418:109;3460:50:106;;-1:-1:-1;;;;;398:1418:109;;;3460:50:106;;3456:419;;3393:971;3893:34;;;398:1418:109;3893:48:106;;-1:-1:-1;;;;;398:1418:109;;;3893:48:106;;3889:465;;3393:971;;;3889:465;3965:21;;;398:1418:109;;3965:21:106;;4014:19;;;398:1418:109;4014:24:106;:74;;;3961:379;4010:157;3393:971;4010:157;398:1418:109;;-1:-1:-1;;;4123:21:106;;;;;4014:74;-1:-1:-1;4042:32:106;;;398:1418:109;4042:46:106;;-1:-1:-1;;;;;398:1418:109;;;4042:46:106;;4014:74;;3961:379;4195:19;;;398:1418:109;4195:24:106;;;:74;;;3961:379;4191:149;3889:465;4191:149;398:1418:109;;-1:-1:-1;;;4300:21:106;;;;;4195:74;-1:-1:-1;4223:32:106;;;398:1418:109;4223:46:106;;-1:-1:-1;;;;;398:1418:109;;;4223:46:106;;;4195:74;;3456:419;3534:23;;;398:1418:109;;3534:23:106;;3585:35;;;398:1418:109;3585:49:106;;-1:-1:-1;;;;;398:1418:109;;;3585:49:106;3456:419;3581:132;398:1418:109;;-1:-1:-1;;;3669:21:106;;;;;3530:331;3741:35;;;398:1418:109;3741:49:106;;-1:-1:-1;;;;;398:1418:109;;;3741:49:106;3737:124;3456:419;3737:124;398:1418:109;;-1:-1:-1;;;3821:21:106;;;;;3291:92;398:1418:109;;-1:-1:-1;;;3343:29:106;;;;;3186:95;398:1418:109;;-1:-1:-1;;;3244:26:106;;;;;3900:253:56;4049:25;3900:253;4091:55;3900:253;4049:25;;;;;;;;;;:::i;:::-;4091:55;;:::i;398:1418:109:-;;;;;;;;;;;;2717:286:106;2835:6;;;:::i;:::-;398:1418:109;-1:-1:-1;;398:1418:109;;;;;;;2900:14:106;398:1418:109;;;;;;;;;;;;;;;;;;1285:6:106;-1:-1:-1;2853:144:106;;2717:286::o;2853:144::-;398:1418:109;;-1:-1:-1;;;2955:31:106;;;;;398:1418:109;;:::i;1641:1070:106:-;1782:1;398:1418:109;;1745:38:106;1741:119;;1874:23;;;398:1418:109;;-1:-1:-1;;;;;398:1418:109;1874:23:106;;398:1418:109;;1874:37:106;;:65;;1641:1070;1870:130;;398:1418:109;2182:42:106;398:1418:109;2551:36:106;398:1418:109;2010:65:106;398:1418:109;;;2010:65:106;1991:1:30;;2010:65:106;2086:42;398:1418:109;2105:23:106;;;398:1418:109;;;;;;2086:42:106;398:1418:109;;-1:-1:-1;;;;398:1418:109;;;;;;-1:-1:-1;;;398:1418:109;;;;;;;;2086:42:106;2138:34;2153:19;;;398:1418:109;2138:34:106;1991:1:30;;398:1418:109;;;;;;;;;;2086:42:106;398:1418:109;;;2086:42:106;398:1418:109;;2182:42:106;2239:33;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;2235:148:106;;1641:1070;-1:-1:-1;2396:32:106;;;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;2392:146:106;;-1:-1:-1;2551:36:106;398:1418:109;-1:-1:-1;;;;;398:1418:109;;;;;;;2547:158:106;;1641:1070;:::o;2547:158::-;2617:77;;;:::i;2392:146::-;2458:69;;;:::i;2235:148::-;2302:70;;;:::i;:::-;;2235:148;;;1870:130;398:1418:109;;-1:-1:-1;;;1962:27:106;;;;;1874:65;1915:19;;;;398:1418:109;1915:24:106;;1874:65;;1741:119;398:1418:109;;-1:-1:-1;;;1806:43:106;;;;;4421:582:56;;4593:8;;-1:-1:-1;398:1418:109;;5674:21:56;:17;;5799:158;;;;;;5670:354;398:1418:109;;-1:-1:-1;;;5994:19:56;;;;;4589:408;398:1418:109;;4841:22:56;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;398:1418:109;;-1:-1:-1;;;4917:24:56;;-1:-1:-1;;;;;398:1418:109;;;4917:24:56;;;398:1418:109;;;4917:24:56;4841:49;4867:18;;;:23;4841:49;;14296:213:69;398:1418:109;14374:24:69;;;;14370:103;;398:1418:109;14296:213:69;:::o;14370:103::-;398:1418:109;;;;14421:41:69;;;;;;14452:2;14421:41;;;398:1418:109;;;;;14421:41:69","linkReferences":{},"immutableReferences":{"60067":[{"start":1382,"length":32},{"start":1745,"length":32}],"69325":[{"start":4968,"length":32},{"start":6955,"length":32}]}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","DEPOSITOR_WHITELIST_ROLE()":"1b66c9e1","DEPOSIT_LIMIT_SET_ROLE()":"a21a1df9","DEPOSIT_WHITELIST_SET_ROLE()":"db388715","EPOCH_DURATION_SET_ROLE()":"61819dd8","FACTORY()":"2dd31000","FLASH_FEE_BASE()":"ecc98f05","FLASH_FEE_RATE_SET_ROLE()":"bc46f722","FLASH_FEE_RECEIVER_SET_ROLE()":"31d9736c","FLASH_LOAN_ENABLED_SET_ROLE()":"a66b3a73","IS_DEPOSIT_LIMIT_SET_ROLE()":"1415519b","MIN_EXIT_WINDOW()":"f151f6b5","RETURN_VALUE()":"653b04cd","_epochDuration()":"2fa27fae","_epochDurationInit()":"9f9962dd","_epochDurationInitIndex()":"9b4bae3e","_epochDurationSetEpochsDelay()":"bba6ff4a","_nextEpochDuration()":"c1bc6f51","_nextEpochDurationInit()":"cc52aee7","_nextEpochDurationSetEpochsDelay()":"c4db46fc","_nextEpochInitIndex()":"2749f9c4","_prevEpochDuration()":"5a36aa74","_prevEpochDurationInit()":"6e0f2455","_prevEpochDurationInitIndex()":"98ccba4a","burner()":"27810b6e","collateral()":"d8dfeb45","delegator()":"ce9b7930","depositLimit()":"ecf70858","depositWhitelist()":"48d3b775","flashFeeRate()":"e945da7f","flashFeeReceiver()":"a8b24f9a","flashLoanEnabled()":"65d61c6c","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","initialize(uint64,address,bytes)":"57ec83cc","isDelegatorInitialized()":"50861adc","isDepositLimit()":"a1b12202","isDepositorWhitelisted(address)":"794b15b7","isSlasherInitialized()":"6ec1e3f8","isWithdrawalsClaimed(uint256,address)":"a5d03223","migrate(uint64,bytes)":"2abe3048","owner()":"8da5cb5b","renounceOwnership()":"715018a6","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","slasher()":"b1344271","staticDelegateCall(address,bytes)":"9f86fd85","supportsInterface(bytes4)":"01ffc9a7","transferOwnership(address)":"f2fde38b","version()":"54fd4d50","withdrawalShares(uint256)":"afba70ad","withdrawalSharesOf(uint256,address)":"a3b54172","withdrawals(uint256)":"5cc07076"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"vaultFactory\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientExitWindow\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidCollateral\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDuration\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidEpochDurationSetEpochsDelay\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidFlashParams\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOrigin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"MissingRoles\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoDepositWhitelist\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFactory\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitialized\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSITOR_WHITELIST_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEPOSIT_WHITELIST_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"EPOCH_DURATION_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FACTORY\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_BASE\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RATE_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_FEE_RECEIVER_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"FLASH_LOAN_ENABLED_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"IS_DEPOSIT_LIMIT_SET_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MIN_EXIT_WINDOW\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RETURN_VALUE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_epochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochDurationSetEpochsDelay\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_nextEpochInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDuration\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInit\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"_prevEpochDurationInitIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"burner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"collateral\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"delegator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositLimit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"depositWhitelist\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeRate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashFeeReceiver\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"flashLoanEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"initialVersion\",\"type\":\"uint64\"},{\"internalType\":\"address\",\"name\":\"owner_\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDelegatorInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isDepositLimit\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isDepositorWhitelisted\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isSlasherInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isWithdrawalsClaimed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"newVersion\",\"type\":\"uint64\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"migrate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"slasher\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"staticDelegateCall\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawalShares\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"withdrawalSharesOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"epoch\",\"type\":\"uint256\"}],\"name\":\"withdrawals\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"initialize(uint64,address,bytes)\":{\"params\":{\"data\":\"some data to use\",\"initialVersion\":\"initial version of the entity\",\"owner\":\"initial owner of the entity\"}},\"migrate(uint64,bytes)\":{\"params\":{\"data\":\"some data to use\",\"newVersion\":\"new version of the entity\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"staticDelegateCall(address,bytes)\":{\"details\":\"It allows to use this contract's storage on-chain.\",\"params\":{\"data\":\"data to make a delegatecall with\",\"target\":\"address of the contract to make a delegatecall to\"}},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"version()\":{\"details\":\"Starts from 1.\",\"returns\":{\"_0\":\"version of the entity\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"DEPOSITOR_WHITELIST_ROLE()\":{\"notice\":\"Get a depositor whitelist status setter's role.\"},\"DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit setter's role.\"},\"DEPOSIT_WHITELIST_SET_ROLE()\":{\"notice\":\"Get a deposit whitelist enabler/disabler's role.\"},\"EPOCH_DURATION_SET_ROLE()\":{\"notice\":\"Get a epoch duration setter's role.\"},\"FACTORY()\":{\"notice\":\"Get the factory's address.\"},\"FLASH_FEE_BASE()\":{\"notice\":\"Get a flash fee base.\"},\"FLASH_FEE_RATE_SET_ROLE()\":{\"notice\":\"Get a flash fee rate setter's role.\"},\"FLASH_FEE_RECEIVER_SET_ROLE()\":{\"notice\":\"Get a flash fee receiver setter's role.\"},\"FLASH_LOAN_ENABLED_SET_ROLE()\":{\"notice\":\"Get a flash loan enabled setter's role.\"},\"IS_DEPOSIT_LIMIT_SET_ROLE()\":{\"notice\":\"Get a deposit limit enabler/disabler's role.\"},\"MIN_EXIT_WINDOW()\":{\"notice\":\"The minimum period of time that must be available to exit in case of epoch increase after migration.\"},\"RETURN_VALUE()\":{\"notice\":\"Get a value that must be returned by the flash loan borrower.\"},\"burner()\":{\"notice\":\"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract).\"},\"collateral()\":{\"notice\":\"Get a vault collateral.\"},\"delegator()\":{\"notice\":\"Get a delegator (it delegates the vault's stake to networks and operators).\"},\"depositLimit()\":{\"notice\":\"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously).\"},\"depositWhitelist()\":{\"notice\":\"Get if the deposit whitelist is enabled.\"},\"flashFeeRate()\":{\"notice\":\"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000).\"},\"flashFeeReceiver()\":{\"notice\":\"Get a flash fee receiver.\"},\"flashLoanEnabled()\":{\"notice\":\"Get if a flash loan mechanic is enabled.\"},\"initialize(uint64,address,bytes)\":{\"notice\":\"Initialize this entity contract by using a given data and setting a particular version and owner.\"},\"isDelegatorInitialized()\":{\"notice\":\"Get if the delegator is initialized.\"},\"isDepositLimit()\":{\"notice\":\"Get if the deposit limit is set.\"},\"isDepositorWhitelisted(address)\":{\"notice\":\"Get if a given account is whitelisted as a depositor.\"},\"isSlasherInitialized()\":{\"notice\":\"Get if the slasher is initialized.\"},\"isWithdrawalsClaimed(uint256,address)\":{\"notice\":\"Get if the withdrawals are claimed for a particular account at a given epoch.\"},\"migrate(uint64,bytes)\":{\"notice\":\"Migrate this entity to a particular newer version using a given data.\"},\"slasher()\":{\"notice\":\"Get a slasher (it provides networks a slashing mechanism).\"},\"staticDelegateCall(address,bytes)\":{\"notice\":\"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data).\"},\"version()\":{\"notice\":\"Get the entity's version.\"},\"withdrawalShares(uint256)\":{\"notice\":\"Get a total number of withdrawal shares at a given epoch.\"},\"withdrawalSharesOf(uint256,address)\":{\"notice\":\"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed).\"},\"withdrawals(uint256)\":{\"notice\":\"Get a total amount of the withdrawals at a given epoch.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/contracts/vault/v1.1/VaultTokenized.sol\":\"VaultTokenized\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol\":{\"keccak256\":\"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45\",\"dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol\":{\"keccak256\":\"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2\",\"dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol\":{\"keccak256\":\"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf\",\"dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv\"]},\"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol\":{\"keccak256\":\"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89\",\"dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr\"]},\"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1\",\"dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol\":{\"keccak256\":\"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce\",\"dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR\"]},\"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol\":{\"keccak256\":\"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e\",\"dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr\"]},\"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"lib/openzeppelin-contracts/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"lib/openzeppelin-contracts/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"lib/openzeppelin-contracts/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"lib/openzeppelin-contracts/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"lib/openzeppelin-contracts/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"src/contracts/common/MigratableEntity.sol\":{\"keccak256\":\"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf\",\"dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL\"]},\"src/contracts/common/StaticDelegateCallable.sol\":{\"keccak256\":\"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764\",\"dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD\"]},\"src/contracts/libraries/Checkpoints.sol\":{\"keccak256\":\"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609\",\"dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE\"]},\"src/contracts/vault/v1.1/Vault.sol\":{\"keccak256\":\"0x32cbef4fc9968aecab9ae35c4a809f4a4fa1a1778d4a1d3cb6cc1bcaa0663500\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://112452cbe72fb8d08e3fd19d4eb26a8ccdc42fc3490b1ddaa32e30612f85a342\",\"dweb:/ipfs/QmcBEfrc94VBzf3L3GNHVxmVvFcy4FVm5N67JJgTYnkADx\"]},\"src/contracts/vault/v1.1/VaultStorage.sol\":{\"keccak256\":\"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6\",\"dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q\"]},\"src/contracts/vault/v1.1/VaultTokenized.sol\":{\"keccak256\":\"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1\",\"dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs\"]},\"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol\":{\"keccak256\":\"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1\",\"dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs\"]},\"src/interfaces/common/IMigratableEntity.sol\":{\"keccak256\":\"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c\",\"dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds\"]},\"src/interfaces/common/IStaticDelegateCallable.sol\":{\"keccak256\":\"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516\",\"dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi\"]},\"src/interfaces/vault/v1.1/IVault.sol\":{\"keccak256\":\"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd\",\"dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh\"]},\"src/interfaces/vault/v1.1/IVaultStorage.sol\":{\"keccak256\":\"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d\",\"dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB\"]},\"src/interfaces/vault/v1.1/IVaultTokenized.sol\":{\"keccak256\":\"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2\",\"dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.25+commit.b61c2a91"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"vaultFactory","type":"address"},{"internalType":"address","name":"implementation","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[],"type":"error","name":"AlreadySet"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InsufficientExitWindow"},{"inputs":[],"type":"error","name":"InvalidAccount"},{"inputs":[],"type":"error","name":"InvalidCollateral"},{"inputs":[],"type":"error","name":"InvalidEpochDuration"},{"inputs":[],"type":"error","name":"InvalidEpochDurationSetEpochsDelay"},{"inputs":[],"type":"error","name":"InvalidFlashParams"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidOrigin"},{"inputs":[],"type":"error","name":"MissingRoles"},{"inputs":[],"type":"error","name":"NoDepositWhitelist"},{"inputs":[],"type":"error","name":"NotFactory"},{"inputs":[],"type":"error","name":"NotInitialized"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[],"stateMutability":"payable","type":"fallback"},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSITOR_WHITELIST_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DEPOSIT_WHITELIST_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"EPOCH_DURATION_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FACTORY","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_BASE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RATE_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_FEE_RECEIVER_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"FLASH_LOAN_ENABLED_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_DEPOSIT_LIMIT_SET_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MIN_EXIT_WINDOW","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RETURN_VALUE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_epochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochDurationSetEpochsDelay","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_nextEpochInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDuration","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInit","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"_prevEpochDurationInitIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"burner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"collateral","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"delegator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositLimit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"depositWhitelist","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"flashLoanEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"grantRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"initialVersion","type":"uint64"},{"internalType":"address","name":"owner_","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isDelegatorInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isDepositLimit","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isDepositorWhitelisted","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isSlasherInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"isWithdrawalsClaimed","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"uint64","name":"newVersion","type":"uint64"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"migrate"},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"callerConfirmation","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"renounceRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokeRole"},{"inputs":[],"stateMutability":"view","type":"function","name":"slasher","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"staticDelegateCall"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawalShares","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"},{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"withdrawalSharesOf","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"epoch","type":"uint256"}],"stateMutability":"view","type":"function","name":"withdrawals","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"getRoleAdmin(bytes32)":{"details":"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."},"grantRole(bytes32,address)":{"details":"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."},"hasRole(bytes32,address)":{"details":"Returns `true` if `account` has been granted `role`."},"initialize(uint64,address,bytes)":{"params":{"data":"some data to use","initialVersion":"initial version of the entity","owner":"initial owner of the entity"}},"migrate(uint64,bytes)":{"params":{"data":"some data to use","newVersion":"new version of the entity"}},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"renounceRole(bytes32,address)":{"details":"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event."},"revokeRole(bytes32,address)":{"details":"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."},"staticDelegateCall(address,bytes)":{"details":"It allows to use this contract's storage on-chain.","params":{"data":"data to make a delegatecall with","target":"address of the contract to make a delegatecall to"}},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"version()":{"details":"Starts from 1.","returns":{"_0":"version of the entity"}}},"version":1},"userdoc":{"kind":"user","methods":{"DEPOSITOR_WHITELIST_ROLE()":{"notice":"Get a depositor whitelist status setter's role."},"DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit setter's role."},"DEPOSIT_WHITELIST_SET_ROLE()":{"notice":"Get a deposit whitelist enabler/disabler's role."},"EPOCH_DURATION_SET_ROLE()":{"notice":"Get a epoch duration setter's role."},"FACTORY()":{"notice":"Get the factory's address."},"FLASH_FEE_BASE()":{"notice":"Get a flash fee base."},"FLASH_FEE_RATE_SET_ROLE()":{"notice":"Get a flash fee rate setter's role."},"FLASH_FEE_RECEIVER_SET_ROLE()":{"notice":"Get a flash fee receiver setter's role."},"FLASH_LOAN_ENABLED_SET_ROLE()":{"notice":"Get a flash loan enabled setter's role."},"IS_DEPOSIT_LIMIT_SET_ROLE()":{"notice":"Get a deposit limit enabler/disabler's role."},"MIN_EXIT_WINDOW()":{"notice":"The minimum period of time that must be available to exit in case of epoch increase after migration."},"RETURN_VALUE()":{"notice":"Get a value that must be returned by the flash loan borrower."},"burner()":{"notice":"Get a burner to issue debt to (e.g., 0xdEaD or some unwrapper contract)."},"collateral()":{"notice":"Get a vault collateral."},"delegator()":{"notice":"Get a delegator (it delegates the vault's stake to networks and operators)."},"depositLimit()":{"notice":"Get a deposit limit (maximum amount of the active stake that can be in the vault simultaneously)."},"depositWhitelist()":{"notice":"Get if the deposit whitelist is enabled."},"flashFeeRate()":{"notice":"Get a flash fee rate (100% = 1_000_000_000; 0.03% = 300_000)."},"flashFeeReceiver()":{"notice":"Get a flash fee receiver."},"flashLoanEnabled()":{"notice":"Get if a flash loan mechanic is enabled."},"initialize(uint64,address,bytes)":{"notice":"Initialize this entity contract by using a given data and setting a particular version and owner."},"isDelegatorInitialized()":{"notice":"Get if the delegator is initialized."},"isDepositLimit()":{"notice":"Get if the deposit limit is set."},"isDepositorWhitelisted(address)":{"notice":"Get if a given account is whitelisted as a depositor."},"isSlasherInitialized()":{"notice":"Get if the slasher is initialized."},"isWithdrawalsClaimed(uint256,address)":{"notice":"Get if the withdrawals are claimed for a particular account at a given epoch."},"migrate(uint64,bytes)":{"notice":"Migrate this entity to a particular newer version using a given data."},"slasher()":{"notice":"Get a slasher (it provides networks a slashing mechanism)."},"staticDelegateCall(address,bytes)":{"notice":"Make a delegatecall from this contract to a given target contract with a particular data (always reverts with a return data)."},"version()":{"notice":"Get the entity's version."},"withdrawalShares(uint256)":{"notice":"Get a total number of withdrawal shares at a given epoch."},"withdrawalSharesOf(uint256,address)":{"notice":"Get a number of withdrawal shares for a particular account at a given epoch (zero if claimed)."},"withdrawals(uint256)":{"notice":"Get a total amount of the withdrawals at a given epoch."}},"version":1}},"settings":{"remappings":["@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","ds-test/=lib/openzeppelin-contracts-upgradeable/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/contracts/vault/v1.1/VaultTokenized.sol":"VaultTokenized"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"lib/openzeppelin-contracts-upgradeable/contracts/access/AccessControlUpgradeable.sol":{"keccak256":"0x6662ec4e5cefca03eeadd073e9469df8d2944bb2ee8ec8f7622c2c46aab5f225","urls":["bzz-raw://4d8544c6f8daa4d1bc215c6a72fe0acdb748664a105b0e5efc19295667521d45","dweb:/ipfs/QmdGWqdnXT8S3RgCR6aV8XHZrsybieMQLLnug1NtpSjEXN"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/access/OwnableUpgradeable.sol":{"keccak256":"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a","urls":["bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6","dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/token/ERC20/ERC20Upgradeable.sol":{"keccak256":"0xbb96dc9c468170c3224126e953de917e06332ec5909a3d85e6e5bb0df10c5139","urls":["bzz-raw://d14e6486e127e7e31c2ffccfc212c7ebaaecf8fb05677575128b449ee113def2","dweb:/ipfs/QmabvyfStwBcum8mGfkmxcTV45rjyHmzHGCxfxyhmu48Yx"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/ReentrancyGuardUpgradeable.sol":{"keccak256":"0x361126a17677994081cd9cb69c3f50cffff6e920d25cb7e428acdb1ae41d1866","urls":["bzz-raw://19ae787a7dd001269cd60a394b1a5261b78925a0fc3a6f927beb2986a9aa56cf","dweb:/ipfs/QmYLfXiuKmcRgTDBEDXMMjXU8t6JxsspUmjxYzqWS55oEv"],"license":"MIT"},"lib/openzeppelin-contracts-upgradeable/contracts/utils/introspection/ERC165Upgradeable.sol":{"keccak256":"0xc8ed8d2056934b7675b695dec032f2920c2f5c6cf33a17ca85650940675323ab","urls":["bzz-raw://3c8ccc75d1cd792d192aa09e54dd49ea35fe85baa9fcd17486f29227d9f29b89","dweb:/ipfs/QmbboSbFUEiM9tdEgBwuTRb7bykFoJXZ7dsSr1PSREJXMr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/access/IAccessControl.sol":{"keccak256":"0xc1c2a7f1563b77050dc6d507db9f4ada5d042c1f6a9ddbffdc49c77cdc0a1606","urls":["bzz-raw://fd54abb96a6156d9a761f6fdad1d3004bc48d2d4fce47f40a3f91a7ae83fc3a1","dweb:/ipfs/QmUrFSGkTDJ7WaZ6qPVVe3Gn5uN2viPb7x7QQ35UX4DofX"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashBorrower.sol":{"keccak256":"0x0b1459615b9b47c2a4eec8e72f23ccc601f1d711f679a1c06b3390459021a341","urls":["bzz-raw://aaf6209fb90f02ebd1c9603568f5e6da5fa2f896820ba66b5041eeed993dc4ce","dweb:/ipfs/QmYsSH2PSGbTXMVXXxhh9AXzfHPSz2j42REvds6xjU7WmR"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/IERC3156FlashLender.sol":{"keccak256":"0x5d19ea24c555cf6a5dbafea9fac57887cc3e72154f3ee8e0a2bf67971811c14b","urls":["bzz-raw://3af1364c971d94bccf3efcc509b2c5c03fe1c69ea9945ba29a96998bfd6c593e","dweb:/ipfs/Qmczq52prNGX5tHuk8aENZsuYgxTeA6YVMHV7yMTKeFjbr"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"lib/openzeppelin-contracts/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"src/contracts/common/MigratableEntity.sol":{"keccak256":"0x303ad40a3de8fa808cc30a6fbd5998633f6a89b982e6db1fa981e0566ab445e7","urls":["bzz-raw://fa8fb92995ead02798e013190b87b84b44cc68668262f045c9b0b4783940e2bf","dweb:/ipfs/QmV1uKGVLKwWisc714R8fCt71gXUQJpaKvdc6LQ8WtvMpL"],"license":"BUSL-1.1"},"src/contracts/common/StaticDelegateCallable.sol":{"keccak256":"0x350029aa8955eacaffffaeb58babc5c98e80ebc5c5db388ed17ee6465f4a9d90","urls":["bzz-raw://eb392a8ee9050e0af606897df63e3404e3829e8b688b580663892f9664195764","dweb:/ipfs/QmaXC8jqV8UrrAFkzXTEv2fJF56sy33HhLxAzaRZmUxuXD"],"license":"BUSL-1.1"},"src/contracts/libraries/Checkpoints.sol":{"keccak256":"0xba90097c8bfe0a975499428b5f8ac5569483c7d92ccc28c12d70de416aae040c","urls":["bzz-raw://12f5d93ca94cd06d3147db68993165a58e17903ed53682560de61f3085ad4609","dweb:/ipfs/QmePiuAqvXprMLmFZkGZeGjvGPAvsEDHfCDv7BoQhXu9xE"],"license":"MIT"},"src/contracts/vault/v1.1/Vault.sol":{"keccak256":"0x32cbef4fc9968aecab9ae35c4a809f4a4fa1a1778d4a1d3cb6cc1bcaa0663500","urls":["bzz-raw://112452cbe72fb8d08e3fd19d4eb26a8ccdc42fc3490b1ddaa32e30612f85a342","dweb:/ipfs/QmcBEfrc94VBzf3L3GNHVxmVvFcy4FVm5N67JJgTYnkADx"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultStorage.sol":{"keccak256":"0x51f3660ab20ae1d427e5f8fd7f962ef2ec4e5a1d1c0ef3dc4f0980b9aca721b7","urls":["bzz-raw://c30f4cd01c615d1d64647777bceac5a0ac4f266a865016a1dccf58687c459bd6","dweb:/ipfs/QmUohPdwTkVs9QarjrcyMzhyuZDTdsmL7KBffuwnq9un5q"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenized.sol":{"keccak256":"0x6b40159424394daadca3f21c58aac3650d1fd6d906494367a799bc33c27cd07e","urls":["bzz-raw://0b908da3ff66b6c6c3e6d973e2cc55caf6eb5a0d7917268ea4682e106b306dc1","dweb:/ipfs/QmUs5F2dz4PoX9DjgxV8oU3SjzEGJCx3Sq5E2Q7xqdDZQs"],"license":"BUSL-1.1"},"src/contracts/vault/v1.1/VaultTokenizedImplementation.sol":{"keccak256":"0x85e85af2f99aee06c8834bdb268b4f59006f25cfafcf9bb41479d5366034e2ce","urls":["bzz-raw://415114d86d27c8bf99c3eb30fbb907da71d2c55224b9cf23f1b597a04c4e09a1","dweb:/ipfs/QmVaLsmXBvxpf4n2WHM2T8xW7zMeywrTRTFRj5LZUn6BUs"],"license":"BUSL-1.1"},"src/interfaces/common/IMigratableEntity.sol":{"keccak256":"0x8f5f2809f3afbe8ebfbb365dd7b57b4dd3b6f9943a6187eaf648d45895b8e3c4","urls":["bzz-raw://0ffe640537d539e7a4fde70d30d3e4c57f4ba9c2c25c450cea713aae38e8fd5c","dweb:/ipfs/QmSUTGzvdcn1R1KB7tLThMRtESsfPbeXDhhhKWGtntzBds"],"license":"MIT"},"src/interfaces/common/IStaticDelegateCallable.sol":{"keccak256":"0xa335d4e81b9071b7de66ef92b43ff20671d86516eb1be46fef29a3483cd3f5d5","urls":["bzz-raw://d464b9db863c14c05547d2b23352f2e9b7b784799cf09f6bbc4906a2a74e3516","dweb:/ipfs/QmUVWzFvJz7eEbDQKiFTTzwi7TEbjcs3VmwdM4kuptAKvi"],"license":"MIT"},"src/interfaces/vault/v1.1/IVault.sol":{"keccak256":"0x7bec711aef3e4894cdf694cc584f7213f51f5f69426f869696d830d4b60e5105","urls":["bzz-raw://0688358241320f84e363bb91e00c8248d1b2538a061055279d10c24d286a60dd","dweb:/ipfs/QmWuLUQjsSDDZgP4EHmnEYJQm5tCazftwTNuThwRBbG1qh"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultStorage.sol":{"keccak256":"0x762053f3cc4cb5809c48b846a77b36e697323b2011118c2df8ea2692a02ece5b","urls":["bzz-raw://5282252083722ebdb1e8977ba1fd4860e15acb49bb4ec337632dd14304863b1d","dweb:/ipfs/QmNNBo5HaWBenQZLgnjF3NbxVRupfgYeUMztYYQMpD9VoB"],"license":"MIT"},"src/interfaces/vault/v1.1/IVaultTokenized.sol":{"keccak256":"0x98adcf1802a3e90cdc93e26afd6f27da02727473f18f482a6b297f8574a195e0","urls":["bzz-raw://10c1d8f09f0ad1e82d198491124e8867dc1c64b242a705c4bb13abaa37b5cea2","dweb:/ipfs/QmfNUPDbLQADLnQbsto5yKW2bR4v5RgphvrqoTQhSE7zkv"],"license":"MIT"}},"version":1},"id":109} \ No newline at end of file diff --git a/src/contracts/vault/v1.1/VaultImplementation.sol b/src/contracts/vault/v1.1/VaultImplementation.sol index 9977db7..8cd5739 100644 --- a/src/contracts/vault/v1.1/VaultImplementation.sol +++ b/src/contracts/vault/v1.1/VaultImplementation.sol @@ -414,9 +414,11 @@ contract VaultImplementation is VaultStorage, AccessControlUpgradeable, Reentran revert InvalidReceiver(); } - if (IERC20(collateral_).balanceOf(address(this)) - balanceBefore != fee) { + uint256 balanceAfter = IERC20(collateral_).balanceOf(address(this)); + if (balanceAfter - balanceBefore < fee) { revert InvalidReturnAmount(); } + fee = balanceAfter - balanceBefore; if (fee > 0) { IERC20(collateral_).safeTransfer(flashFeeReceiver, fee); diff --git a/test/mocks/ERC3156FlashBorrower.sol b/test/mocks/ERC3156FlashBorrower.sol index 2f5374e..17eebb4 100644 --- a/test/mocks/ERC3156FlashBorrower.sol +++ b/test/mocks/ERC3156FlashBorrower.sol @@ -34,9 +34,13 @@ contract ERC3156FlashBorrower is IERC3156FlashBorrower { uint256 fee, bytes calldata data ) external returns (bytes32) { - bool flag = abi.decode(data, (bool)); - if (flag) { + (bool flag1, bool flag2) = abi.decode(data, (bool, bool)); + if (flag1) { IERC20(token).safeTransfer(msg.sender, amount + fee); + + if (flag2) { + IERC20(token).safeTransfer(msg.sender, 2); + } } return RETURN_VALUE; diff --git a/test/vault/v1.1/Vault.t.sol b/test/vault/v1.1/Vault.t.sol index 76a6764..76cc4de 100644 --- a/test/vault/v1.1/Vault.t.sol +++ b/test/vault/v1.1/Vault.t.sol @@ -3863,7 +3863,7 @@ contract VaultTest is Test { assertEq(vault.maxFlashLoan(address(collateral)), amount); - borrower.run(amount, vault.RETURN_VALUE(), abi.encode(true)); + borrower.run(amount, vault.RETURN_VALUE(), abi.encode(true, false)); assertEq(collateral.balanceOf(address(vault)), amount); assertEq(collateral.balanceOf(address(borrower)), amount - vault.flashFee(address(collateral), amount)); @@ -3876,7 +3876,113 @@ contract VaultTest is Test { bytes32 RETURN_VALUE = vault.RETURN_VALUE(); vm.expectRevert(IVault.MaxLoanExceeded.selector); - borrower.run(amount, RETURN_VALUE, abi.encode(true)); + borrower.run(amount, RETURN_VALUE, abi.encode(true, false)); + } + + function test_FlashLoanFeeOnTransfer(uint256 amount, uint256 feeRate) public { + amount = bound(amount, 2, 100 * 10 ** 18); + feeRate = bound(feeRate, 1, 1e9); + + uint256 blockTimestamp = vm.getBlockTimestamp(); + blockTimestamp = blockTimestamp + 1_720_700_948; + vm.warp(blockTimestamp); + + address[] memory networkLimitSetRoleHolders = new address[](1); + networkLimitSetRoleHolders[0] = alice; + address[] memory operatorNetworkSharesSetRoleHolders = new address[](1); + operatorNetworkSharesSetRoleHolders[0] = alice; + (address vault_,,) = vaultConfigurator.create( + IVaultConfigurator.InitParams({ + version: 3, + owner: alice, + vaultParams: abi.encode( + IVault.InitParams({ + collateral: address(feeOnTransferCollateral), + burner: address(0xdEaD), + epochDuration: 1, + depositWhitelist: false, + isDepositLimit: false, + depositLimit: 0, + epochDurationSetEpochsDelay: 3, + flashLoanEnabled: true, + flashFeeRate: 0, + flashFeeReceiver: alice, + defaultAdminRoleHolder: alice, + depositWhitelistSetRoleHolder: alice, + depositorWhitelistRoleHolder: alice, + depositorsWhitelisted: new address[](0), + isDepositLimitSetRoleHolder: alice, + depositLimitSetRoleHolder: alice, + epochDurationSetRoleHolder: alice, + flashLoanEnabledSetRoleHolder: alice, + flashFeeRateSetRoleHolder: alice, + flashFeeReceiverSetRoleHolder: alice + }) + ), + delegatorIndex: 0, + delegatorParams: abi.encode( + INetworkRestakeDelegator.InitParams({ + baseParams: IBaseDelegator.BaseParams({ + defaultAdminRoleHolder: alice, + hook: address(0), + hookSetRoleHolder: alice + }), + networkLimitSetRoleHolders: networkLimitSetRoleHolders, + operatorNetworkSharesSetRoleHolders: operatorNetworkSharesSetRoleHolders + }) + ), + withSlasher: false, + slasherIndex: 0, + slasherParams: abi.encode(ISlasher.InitParams({baseParams: IBaseSlasher.BaseParams({isBurnerHook: false})})) + }) + ); + + vault = VaultImplementation(vault_); + + feeOnTransferCollateral.transfer(alice, amount + 1); + vm.startPrank(alice); + feeOnTransferCollateral.approve(address(vault), amount); + vault.deposit(alice, amount); + vm.stopPrank(); + + if (feeRate > 0) { + _setFlashFeeRate(alice, feeRate); + } + + address receiver = address(0xdEaD); + + _setFlashFeeReceiver(alice, receiver); + + ERC3156FlashBorrower borrower = new ERC3156FlashBorrower(address(vault)); + + feeOnTransferCollateral.transfer(address(borrower), amount + 4); + + assertEq(feeOnTransferCollateral.balanceOf(address(vault)), amount - 1); + assertEq(feeOnTransferCollateral.balanceOf(address(borrower)), amount + 3); // 1 is lost on receive, 1 on transferFrom, 1 on transfer + assertEq(feeOnTransferCollateral.balanceOf(address(receiver)), 0); + + assertEq(vault.maxFlashLoan(address(feeOnTransferCollateral)), amount - 1); + + borrower.run(amount - 1, vault.RETURN_VALUE(), abi.encode(true, true)); + + assertEq(feeOnTransferCollateral.balanceOf(address(vault)), amount - 1); + assertEq( + feeOnTransferCollateral.balanceOf(address(borrower)), + amount - vault.flashFee(address(feeOnTransferCollateral), amount - 1) + ); + assertEq( + feeOnTransferCollateral.balanceOf(address(receiver)), + vault.flashFee(address(feeOnTransferCollateral), amount - 1) - 1 + ); + + _grantFlashloanEnabledSetRole(alice, alice); + _setFlashloanEnabled(alice, false); + + assertEq(vault.maxFlashLoan(address(feeOnTransferCollateral)), 0); + + bytes32 RETURN_VALUE = vault.RETURN_VALUE(); + vm.expectRevert(IVault.MaxLoanExceeded.selector); + borrower.run(amount, RETURN_VALUE, abi.encode(true, true)); } function test_FlashLoanRevertTooLowFlashLoanValue( @@ -3950,7 +4056,7 @@ contract VaultTest is Test { bytes32 RETURN_VALUE = vault.RETURN_VALUE(); vm.expectRevert(IVault.TooLowFlashLoanValue.selector); - borrower.run(0, RETURN_VALUE, abi.encode(true)); + borrower.run(0, RETURN_VALUE, abi.encode(true, false)); } function test_FlashLoanRevert(uint256 amount, uint256 feeRate) public { @@ -4025,7 +4131,7 @@ contract VaultTest is Test { bytes32 RETURN_VALUE = vault.RETURN_VALUE(); vm.expectRevert(); - borrower.run(amount, RETURN_VALUE, abi.encode(true)); + borrower.run(amount, RETURN_VALUE, abi.encode(true, false)); } function test_FlashLoanRevertMaxLoanExceeded(uint256 amount, uint256 feeRate) public { @@ -4104,7 +4210,7 @@ contract VaultTest is Test { bytes32 RETURN_VALUE = vault.RETURN_VALUE(); vm.expectRevert(IVault.MaxLoanExceeded.selector); - borrower.run(amount + 1, RETURN_VALUE, abi.encode(true)); + borrower.run(amount + 1, RETURN_VALUE, abi.encode(true, false)); } function test_FlashLoanRevertInvalidReceiver(uint256 amount, uint256 feeRate) public { @@ -4182,7 +4288,7 @@ contract VaultTest is Test { collateral.transfer(address(borrower), amount); vm.expectRevert(IVault.InvalidReceiver.selector); - borrower.run(amount, bytes32(0), abi.encode(true)); + borrower.run(amount, bytes32(0), abi.encode(true, false)); } function test_FlashLoanRevertInvalidReturnAmount(uint256 amount, uint256 feeRate) public {